Vector
는 스레드에 안전하도록 동기화 처리가 되어 있습니다. 즉, 한 스레드가 Vector
객체에서 작업 중이라면, 다른 스레드가 해당 객체에 접근할 수 없습니다.Vector<String> vector = new Vector<>();
vector.add("Element 1");
vector.add("Element 2");
System.out.println(vector);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Element A");
arrayList.add("Element B");
System.out.println(arrayList);
Vector는 동기화가 기본적으로 처리되어 있어 멀티스레드 환경에서 안전하지만, 성능이 떨어집니다. 반면, ArrayList는 비동기식이므로 멀티스레드 환경에서는 신중하게 사용해야 하지만, 단일 스레드 환경에서는 성능이 더 좋습니다.