ArrayList

·2025년 6월 5일

Power Java

목록 보기
74/75

13.4 ArrayList

ArrayList

: 가변 크기의 배열을 구현하는 클래스

Vector와의 차이점

  • Vector - 스레드 간의 동기화를 지원.
  • Arraylist - 동기화를 하지 않음.

=> 멀티 스레드 상황이라면 vector를 사용하는 것이 좋다.

< ArrayList의 기본 연산 >

-ArrayList는 타입 매개 변수를 가지는 제네릭 클래스로 제공된다.

-메소드

+size, contains 등

< 배열을 리스트로 변경하기 >

-Arrays.asList() 메소드는 배열을 받아서 리스트 형태로 반환한다.
(배열 기반 -> 컬렉션 기반 프로그램 변경 시 다리의 역할을 함)



1.
1) 크기 조절이 가능하다. (배열은 고정된 크기)
2) 편리한 메소드를 제공한다.
3) 제네릭을 이용한 자동 타입 변환이 가능하다.

  1. AbstractList 클래스가 직접적인 부모 클래스이다.
    Object -> AbstractCollection -> AbstractList -> ArrayList

  2. List, Set 등 인터페이스를 기준으로 프로그래밍하면 구현체를 쉽게 변경할 수 있다.
    ex) ArrayList -> LinkedList

  3. 1) 인덱스 기반의 for문
    2) 향상된 for문
    3) Iteratior 사용
    4) forEach + 람다식 (Java8 이상)

0개의 댓글