이 게시물에서는 Java에서 ArrayList와 Vector의 차이점을 이해할 것입니다.
배열 목록
-
동기화되지 않았습니다.
-
요소 수가 ArrayList의 용량을 초과하면 현재 배열 크기를 50% 증가시킵니다.
-
스레드로부터 안전하지 않습니다.
-
JDK 1.2에서 도입되었습니다.
-
iterator는 순회할 때만 사용할 수 있습니다.
-
비동기식이라 속도가 빠릅니다.
-
Iterator 인터페이스를 사용하여 요소를 순회합니다.
예시
ArrayList<T> al = new ArrayList<T>();
벡터
-
동기화됩니다.
-
스레드로부터 안전합니다.
-
레거시 클래스입니다.
-
동기화되어 있기 때문에 느립니다.
-
요소 수가 벡터의 용량을 초과하면 현재 배열 크기가 100% 증가합니다.
-
열거자와 반복자를 사용하여 순회할 수 있습니다.
-
ArrayList보다 선호됩니다.
-
멀티스레딩 환경을 제공합니다.
-
현재 스레드가 특정 개체에 대한 잠금을 해제할 때까지 다른 스레드를 실행 가능 또는 실행 불가 상태로 유지합니다.
-
'Iterator' 인터페이스나 Enumeration 인터페이스를 사용하여 요소를 순회할 수 있습니다.
예시
Vector<T> v = new Vector<T>();