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]