Vector는 Java API에서 AbstractList의 하위 클래스이고, Stack은 Vector의 하위 클래스입니다. Java 컬렉션 프레임워크는 Java 2에서 도입되었습니다. 이전에는 Vector 및 Stack 클래스와 같은 여러 데이터 구조가 지원되었습니다. 이러한 클래스는 Java 컬렉션 프레임워크에 맞게 재설계되었지만 모든 이전 스타일 메소드는
에 대해 유지됩니다.
호환성.
벡터는 벡터에 액세스하고 수정하기 위한 동기화된 메서드를 포함한다는 점을 제외하면 ArrayList와 동일합니다. 동기화된 메서드는 두 개 이상의 스레드가 동시에 벡터에 액세스하고 수정할 때 데이터 손상을 방지할 수 있습니다. 동기화가 필요하지 않은 많은 응용 프로그램의 경우 ArrayList를 사용하는 것이 벡터.
를 사용하는 것보다 더 효율적입니다.벡터 클래스는 AbstractList 클래스를 확장합니다. 또한 아래 그림과 같이 Java 2 이전에 정의된 원본 Vector 클래스에 포함된 메서드도 있습니다.
위 그림의 UML 다이어그램에 나열된 Vector 클래스의 메서드 대부분은 List 인터페이스의 메서드와 유사합니다. 이러한 메소드는 Java 컬렉션 프레임워크 이전에 도입되었습니다. 예를 들어, addElement(Object 요소)는 addElement 메서드가 동기화된다는 점을 제외하면 add(Object 요소) 메서드와 동일합니다. 동기화가 필요하지 않은 경우 ArrayList 클래스를 사용하세요. 벡터.
보다 훨씬 빠르게 작동합니다.elements() 메서드는 열거를 반환합니다. Enumeration 인터페이스는 Java 2 이전에 도입되었으며 Iterator 인터페이스로 대체되었습니다. 벡터는 Java 2 이전의 Java 크기 조정 가능한 배열 구현이었기 때문에 Java 레거시 코드에서 널리 사용됩니다.
Java 컬렉션 프레임워크에서 스택은 아래 그림과 같이 벡터의 확장으로 구현됩니다.
Stack 클래스는 Java 2 이전에 도입되었습니다. 위 그림에 표시된 메소드는 Java 2 이전에 사용되었습니다. empty() 메소드는 isEmpty와 동일합니다. (). peek() 메서드는 스택의 맨 위에 있는 요소를 제거하지 않고 살펴봅니다. pop() 메서드는 스택에서 최상위 요소를 제거하고 반환합니다. push(Object element) 메서드는 지정된 요소를 스택에 추가합니다. search(Object element) 메소드는 지정된 요소가 스택에 있는지 확인합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3