ArrayList와 Vector는 모두 Java에서 List 인터페이스를 구현한 것입니다. 두 클래스 모두 삽입 순서를 유지합니다. 그러나 몇 가지 차이점도 있습니다.
다음은 ArrayList와 Vector 메소드의 중요한 차이점입니다.
| Sr. 아니요. | 키 | 배열 목록 | 벡터 |
|---|---|---|---|
| 1 | 동기화 | ArrayList가 동기화되지 않았습니다. | 벡터가 동기화되었습니다. |
| 2 | 크기 | ArrayList는 추가된 요소가 용량을 초과하면 현재 크기의 50%를 증가시킵니다. | 추가된 요소가 용량을 초과하면 벡터가 현재 크기의 100%를 증가시킵니다. |
| 3 | 기존 | ArrayList는 레거시가 아닙니다. | 벡터는 레거시 클래스입니다. |
| 4 | 속도 | ArrayList가 비동기화되는 속도가 더 빠릅니다. | LinkedList가 동기화되는 속도가 느립니다. |
| 5 | 반복 | ArrayList는 반복자 인터페이스를 사용하여 요소를 순회합니다. | 벡터는 반복자 또는 열거자 인터페이스를 모두 사용하여 요소를 순회할 수 있습니다. |
ArrayList와 Vector의 예
JavaTester.java
import java.util.ArrayList;
import java.util.Vector;
import java.util.List;
public class JavaTester {
public static void main(String args[]) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
List<String> list1 = new Vector<>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
System.out.println(list);
System.out.println(list1);
}
} 출력
[A, B, C, D] [A, B, C, D]