Vector는 List 인터페이스를 구현한 클래스이며,
내부 메서드들이 synchronized 되어 있어 **Thread-safe(쓰레드 안전성)**을 제공합니다.
✅ 특징
ArrayList와 비슷하지만, 멀티스레드 환경에서 안전addElement(), elementAt(), size(), remove() 등의 메서드 지원ArrayList를 사용하는 것이 더 효율적import java.util.Vector;
public class VectorExample {
public static void main(String[] args) {
// Vector 생성
Vector<Person> v = new Vector<>();
// 요소 추가
v.addElement(new Person("홍길동", 29));
v.addElement(new Person("이순신", 30));
v.addElement(new Person("강감찬", 65));
System.out.println("Vector 요소: " + v); // 전체 출력
// 특정 요소 가져오기 (인덱스 기반)
Person p = v.elementAt(2);
System.out.println("인덱스 2의 요소: " + p.getName());
// 요소 제거
v.remove(1);
System.out.println("인덱스 1 제거 후: " + v);
// 현재 크기 확인
System.out.println("Vector 크기: " + v.size());
}
}
Stack은 Vector의 하위 클래스로, LIFO(Last-In-First-Out, 후입선출) 방식의 자료구조입니다.
✅ 특징
push(): 요소 추가pop(): 마지막 요소 제거 및 반환peek(): 마지막 요소 조회 (제거 X)empty(): 스택이 비어있는지 확인