- 주요 메서드
- .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): 두 컬렉션을 합침
- .retainAll(arr2): argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줌
- .removeAll(arr2): argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줌, retainAll() 메소드와 반대
- .size(): 요소 개수 반환
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<>();
// 리스트 요소 추가
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<>();
al1.add("박");
al1.add("김");
al1.add("이");
ArrayList<String> al2 = new ArrayList<>();
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
}
댓글