ArrayList<E>, ArrayList.java

CODEDRAGON Development/Algorithm, DataStructure

반응형

  

ArrayList<E>

·       JDK 1.2부터 제공되었으며 가장 많이 사용되는 컬렉션 프레임워크입니다.

·       ArrayList<E>는 이름이 의미하듯이 '배열' 기반으로 데이터를 순차적으로 저장합니다.

·       Vector를 개선한 것으로 Vector와 구현원리와 기능이 동일합니다.

·       List인터페이스를 구현하고 있는 것뿐 아니라 ArrayList는 배열의 크기를 조작하기 위한 메소드들이 제공됩니다.

·       ArrayList 배열은 크기를 변경할 수 없는 인스턴스이므로, 크기를 조작하기 위한 메소드를 제공하지만 크기를 늘리기 위해서 새로운 배열을 생성하고 기존의 요소들을 다시 저장하는 복잡한 과정을 거치게 됩니다.

·       공백을 포함한 모든 요소들을 저장 할 수 있으며  Vector와 유사하지만 ArrayList는 스레드의 동기화는 지원하지 않습니다.

·       배열을 이용하기 때문에 인덱스를 이용해 배열 요소에 빠르게 접근할 수 있습니다.

 

 

ArrayList.java

ArrayList elementData라는 이름의 Object[]배열을 멤버변수로 선언하고 있습니다. 선언된 배열이 모든 객체의 조상인 Object이기 때문에 모든 종류의 객체를 저장할 수 있습니다.

, ArrayList Object[]배열을 이용하여 데이터를 순차적으로 저장합니다.