List
- 배열과 같이 여러 데이터를 담을 수 있는 자료형입니다.
- 추가로 여러가지 메소드를 제공합니다.
ArrayList al = new ArrayList();
al.add(1);
al.add('a');
ArrayList
import java.util.arrayList
생성자
new ArrayList() : 기본 크기가 10인 배열 생성합니다.
new ArrayList() : 기본 크기를 지정하여 (배열이 다 차면 기본 크기만큼 사이즈가 증가합니다.)
new ArrayList<제네릭>() : 배열 값의 타입을 지정해줍니다.
※ 재네릭(Generic)
- 컬렉션 객체를 생성할 때 저장되는 데이터의 타입을 미리 지정하는 기능입니다.
- 제네릭으로 지정한 타입 외에는 담길 수 없도록 합니다.
메소드
메소드 | 기능 |
add((index), val) | 순서대로 리스트를 추가, 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가합니다. 인텍스를 추가로 지정해주면 해당 인덱스에 값을 삽입합니다. |
get(index) | 해당 인덱스의 값 변환 |
set(index, val) | 인덱스로 값 변경 |
indexOf(val) | 값을 제공하면 해당 값의 첫번째 인덱스를 반환합니다. |
lastindexOf(val) | 해당 값의 마지막 인덱스를 반환합니다. |
remove(index or val) | 해당 인데그의 값 or 해당 값 중 첫번째 값을 삭제합니다. |
contains(val) | 해당 값이 배열에 있는지 검색해서 true / false 로 반환합니다. |
containsAll(val1, val2...) | argument로 제공한 컬렉션의 모든 값이 포함되어 있는지 여부를 true / false로 반환합니다. |
toArray() | ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환, 저장할 타입에 맞춰 자동 형 변환, 배열 크기 또한 자동으로 맞춰서 바꿔줍니다. |
clear() | 값을 모두 삭제합니다. |
isEmpty() | 비어있으면 true, 하나라도 있으면 false 반환합니다. |
addAll(arr2) | 두 컬렉션을 합칩니다. |
retain(arr2) | argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줍니다. |
removeAll(arr2) | argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줍니다. retainAll()메소드와는 반대 |
size() | 요소의 개수를 반환합니다. |
import java.util.ArrayList;
public class arrList {
public static void main(String[] args){
ArrayList<String> al = new ArrayList<String>();
// 리스트 요소 추가
al.add("박");
al.add("김");
al.add("최");
System.out.println(al); // [박, 김, 최]
al.add(1, "이");
System.out.println(al); // [박, 이, 김, 최]
// 해당 인덱스의 값 반환
System.out.println(al.get(0)); // 박
// 인덱스로 값 변경
al.set(3, "정");
System.out.println(al); // [박, 이, 김, 정]
// 인덱스로 값 찾기
al.add("박"); // [박, 이, 김, 정, 박]
System.out.println(al.indexOf("박")); // 0
System.out.println(al.lastIndexOf("박")); // 4
// 값 삭제
al.remove(4);
System.out.println(al); // [박, 이, 김, 정]
al.add("정"); // [박, 이, 김, 정, 정]
al.remove("정");
System.out.println(al); // [박, 이, 김, 정]
// 값 포함하는지
System.out.println(al.contains("정")); // true
// Array로 변환
System.out.println(al.toArray()); // [Ljava.lang.Object;@7d6f77cc
// 배열 비우기
al.clear();
System.out.println(al); // []
// 배열 비었는 지 확인
System.out.println(al.isEmpty()); // true
// 두 리스트 합치기
ArrayList<String> al1 = new ArrayList<String>();
al1.add("박");
al1.add("김");
al1.add("이");
ArrayList<String> al2 = new ArrayList<String>();
al2.add("최");
al2.add("정");
al2.add("박");
al1.addAll(al2);
System.out.println(al1); // [박, 김, 이, 최, 정, 박]
// 한 리스트가 한 리스트 포함하는지
System.out.println(al1.containsAll(al2)); // true
// 리스트 해당 요소 빼고 지우기
al1.retainAll(al2);
System.out.println(al1); // [박, 최, 정, 박]
// 리스트 해당 요소 지우기
al1.removeAll(al2);
System.out.println(al1); // []
// 요소 개수 반환
System.out.println(al1.size()); // 0
System.out.println(al2.size()); // 3
}
}
'Programming Language > Java' 카테고리의 다른 글
HashMap 주요 메소드 (0) | 2023.05.17 |
---|---|
HashSet 주요 메소드 (0) | 2023.05.17 |
Array 주요 메소드 (0) | 2023.05.16 |
StringBuilder 주요 메소드 (0) | 2023.05.16 |
문자열(String) 주요 메소드 (0) | 2023.05.16 |