java collection 예제

Java 컬렉션 프레임워크는 개체 그룹을 저장하고 조작하는 아키텍처를 제공합니다. Java 컬렉션 프레임워크에는 다음이 포함됩니다: Iterator 인터페이스는 모든 컬렉션을 반복하는 메서드를 제공합니다. iterator 메서드를 사용 하 여 컬렉션에서 이터레이터 인스턴스를 얻을 수 있습니다. 이터레이터는 Java 컬렉션 프레임워크에서 열거를 대신합니다. 반복기를 사용하면 호출자가 반복 중에 기본 컬렉션에서 요소를 제거할 수 있습니다. 컬렉션 클래스의 반복기는 반복기 디자인 패턴을 구현합니다. 컬렉션이 인터페이스이고 목록도 다음 인터페이스인 경우. 내가 이해하는 것은 목록 구현 컬렉션입니다 … 그러나 나는 또한 인터페이스가 다른 인터페이스를 구현할 수 없다는 것을 알고 있습니다 … 이것에 대한 정당성은 무엇입니까? Java의 큐는 FIFO 접근 방식( 즉, 첫 번째 아웃 방식으로 요소를 정렬합니다)을 따릅니다. 큐에서 첫 번째 요소가 먼저 제거되고 마지막 요소가 결국 제거됩니다. 각 기본 메서드는 두 가지 형태로 존재합니다: 하나는 작업이 실패하면 예외를 throw하고 다른 하나는 특수 값을 반환합니다. 모든 컬렉션 클래스는 일관된 구현을 가지며 추가, get, put, remove 등과 같은 몇 가지 일반적인 방법을 제공합니다.

어떤 종류의 데이터 구조를 다루든 이러한 메서드는 기본 구현에 따라 작동하고 작업을 투명하게 수행합니다. 컬렉션 프레임워크는 핵심 인터페이스의 도움으로 더 잘 이해됩니다. 컬렉션 클래스는 이러한 인터페이스를 구현하고 구체적인 기능을 제공합니다. 모든 Java 래퍼 클래스와 String 클래스는 이러한 컬렉션에서 올바르게 작동할 수 있도록 특정 구현으로 이러한 함수를 재정의합니다. 사용자 정의 사용자 지정 클래스에서도 이러한 함수가 올바르게 재정의되었는지 확인해야 합니다. Java TreeSet 클래스는 저장소에 트리를 사용하는 Set 인터페이스를 구현합니다. 해시집합과 마찬가지로 TreeSet에도 고유한 요소가 포함되어 있습니다. 그러나 TreeSet의 액세스 및 검색 시간은 매우 빠릅니다. 오름차순으로 저장된 TreeSet의 요소입니다.

우리가 볼 수 있듯이, 이러한 컬렉션 (배열, 벡터 또는 해시 테이블) 표준 멤버 액세스 인터페이스를 구현 하지 않습니다. 프로그래머가 모든 종류의 컬렉션에 대해 작동할 수 있는 알고리즘을 작성하는 것은 매우 어려웠습니다. 또 다른 단점은 대부분의 `벡터` 메서드가 최종이라는 점에서 비슷한 종류의 컬렉션을 구현하기 위해 `Vector` 클래스를 확장할 수 없다는 것입니다. Java 개발자는 위에서 언급 한 문제를 처리하기 위해 공통 인터페이스를 마련하기로 결정하고 JDK 1.2에서 컬렉션 프레임 워크를 도입했습니다. Java 스택 인터페이스는 요소를 LIFO(선착권) 개체 스택으로 푸시할 수 있는 고전적인 스택 데이터 구조를 나타냅니다. 스택에서 우리는 스택의 상단에 요소를 밀어, 나중에 다시 스택의 상단에서 튀어.