Vector는 Java API에서 AbstractList의 하위 클래스이고 Stack은 Vector의 하위 클래스입니다. Java 컬렉션 프레임워크는 Java 2에서 도입되었습니다. 이전에는 Vector 및 Stack 클래스를 비롯한 여러 데이터 구조가 지원되었습니다. 이러한 클래스는 Java 컬렉션 프레임워크에 맞게 재설계되었지만 모든 이전 스타일 메소드는
호환성.
Vector는 벡터에 액세스하고 수정하기 위한 동기화된 메서드를 포함한다는 점을 제외하면 ArrayList와 동일합니다. 동기화된 메서드는 두 개 이상의 스레드가 동시에 벡터에 액세스하고 수정할 때 데이터 손상을 방지할 수 있습니다. 동기화가 필요하지 않은 많은 애플리케이션의 경우 ArrayList를 사용하는 것이 Vector를 사용하는 것보다 더 효율적입니다.
Vector 클래스는 AbstractList 클래스를 확장합니다. 또한 아래 그림과 같이 Java 2 이전에 정의된 원본 Vector 클래스에 포함된 메서드도 있습니다.
위 그림의 UML 다이어그램에 나열된 Vector 클래스의 메소드는 대부분 List 인터페이스의 메소드와 유사합니다. 이러한 메소드는 Java 컬렉션 프레임워크 이전에 도입되었습니다. 예를 들어 addElement(Object element)는 addElement 메서드가 동기화된다는 점을 제외하면 add(Object element) 메서드와 동일합니다. 동기화가 필요하지 않은 경우 ArrayList 클래스를 사용하세요. 벡터보다 훨씬 빠르게 작동합니다.
elements() 메서드는 열거를 반환합니다. Enumeration 인터페이스는 Java 2 이전에 도입되었으며 Iterator 인터페이스로 대체되었습니다. 벡터는 Java 2 이전의 Java 크기 조정 가능한 배열 구현이었기 때문에 Java 레거시 코드에서 널리 사용됩니다.
Java Collections Framework에서는 아래 그림과 같이 Vector의 확장으로 Stack을 구현합니다.
Stack 클래스는 Java 2 이전에 도입되었습니다. 위 그림에 표시된 메소드는 Java 2 이전에 사용되었습니다. empty() 메소드는 isEmpty와 동일합니다. (). peek() 메서드는 스택의 맨 위에 있는 요소를 제거하지 않고 살펴봅니다. pop() 메서드는 스택에서 최상위 요소를 제거하고 반환합니다. push(Object element) 메서드는 지정된 요소를 스택에 추가합니다. search(Object element) 메소드는 지정된 요소가 스택에 있는지 확인합니다.
위 내용은 벡터 및 스택 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!