컬렉션 프레임워크라고도 알려진 Java 컬렉션 유형은 재사용 가능한 컬렉션 데이터 구조를 구현하는 데 도움이 되는 많은 인터페이스와 클래스를 제공합니다. 이러한 컬렉션 유형은 개체 그룹을 저장하고 조작하기 위한 아키텍처를 제공합니다. Java에서는 단일 단위로 표시되는 개별 객체 그룹을 객체 컬렉션이라고 합니다. 이를 바탕으로 JDK 1.2에는 컬렉션 클래스와 인터페이스를 모두 갖춘 컬렉션 프레임워크(Collection Framework)와 타입(Types)이 도입됐다. 목록, 세트, 맵, 큐, 스택 등과 같은 바로 사용할 수 있는 컬렉션 중 일부는 사용자가 동종 및 이종 개체 그룹을 처리하는 일반적인 문제를 해결합니다. 컬렉션 유형에 대한 주제를 더 자세히 알아보고 모든 유형의 구문을 알아보세요.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
Java의 컬렉션 유형은 각 인터페이스가 특정 데이터 유형을 저장하는 데 사용되는 여러 인터페이스로 구성됩니다.
컬렉션 프레임워크의 루트 인터페이스입니다. 컬렉션 인터페이스는 Iterable 인터페이스를 확장합니다. 따라서 모든 클래스와 인터페이스는 이 인터페이스를 구현합니다. 여기에는 반복자인 하나의 추상 메소드만 포함됩니다.
구문:
Iterator iterator();
반복 가능한 인터페이스를 확장하고 컬렉션 프레임워크의 모든 클래스에 의해 구현됩니다. 여기에는 데이터 제거, 데이터 추가, 데이터 지우기 등과 같은 모든 컬렉션의 모든 방법이 포함되어 있습니다.
Collection 인터페이스의 하위 인터페이스로, 정렬된 데이터 컬렉션을 저장하고 중복도 허용하는 목록형 데이터 전용입니다. 목록 인터페이스는 Vector, Array List, Stack 등과 같은 다양한 클래스로 구현됩니다. 이러한 모든 하위 클래스는 목록을 구현하므로 사용자는 목록 객체를 인스턴스화할 수 있습니다.
구문:
List<T> array_list = new ArrayList<>(); List<T> linked_list = new LinkedList<>(); List<T> vector = new Vector<>();
“T”는 객체 유형입니다.
Java에서 동적 배열을 제공합니다. 배열 목록의 크기는 컬렉션이 커지면 늘어나고 개체가 컬렉션에서 제거되면 줄어듭니다. Java에서 배열 목록은 무작위로 액세스할 수 있으며 기본 유형에 사용할 수 없으며 이러한 경우 래퍼 클래스가 필요합니다. 구문은 위에 나와 있습니다.
이 클래스는 연결 목록 데이터 구조를 구현한 것입니다. 요소가 연속적으로 저장되지 않고 각 요소가 데이터와 주소 부분을 갖는 별도의 개체인 선형 데이터 구조입니다. 요소는 주소와 포인터를 사용하여 연결되며 각 요소는 노드로 알려져 있습니다. 구문은 위에 나와 있습니다.
이 클래스는 동적 배열을 제공합니다. 표준 배열보다 느리지만 조작이 많이 필요한 프로그램에 유용합니다. 배열 목록과 유사하지만 벡터는 동기화되고 배열 목록은 동기화되지 않습니다. 구문은 위에 나와 있습니다.
이 클래스는 Stack 데이터 구조를 모델링하고 구현하며 후입선출의 기본 원칙을 기반으로 합니다. 기본 푸시팝 작업과 함께 이 클래스는 비어 있음, 엿보기 및 검색 기능도 제공합니다. Vector의 하위 클래스라고도 합니다.
구문:
Stack<T> stack = new Stack<>();
이 인터페이스는 대기열 라인과 유사한 선입선출 순서를 유지합니다. 요소 순서가 중요한 모든 요소를 저장하는 데 사용됩니다. 또한 Deque, Priority Queue, Array Queue 등과 같은 다양한 클래스로 구성됩니다. 모든 하위 클래스가 대기열을 구현하므로 사용자는 대기열 객체를 인스턴스화할 수 있습니다.
구문:
Queue<T> array_queue = new ArrayQueue<>(); Queue<T> priority_queue = new PriorityQueue<>();
객체가 우선순위, 즉 우선순위 힙을 기반으로 처리되어야 할 때 사용됩니다. 우선순위 큐의 요소는 자연 순서에 따라 또는 비교기를 사용하여 정렬됩니다. 구문은 위에 나와 있습니다.
이 클래스는 프레임워크에서 구현되어 사용자가 크기 조정 가능한 배열을 가질 수 있도록 합니다. 이는 사용자가 대기열의 양쪽에서 요소를 제거하거나 추가할 수 있도록 하는 특별한 종류의 배열 중 하나입니다. 제한이 없으며 필요한 경우 확장됩니다. 구문은 위에 나와 있습니다.
이 인터페이스는 대기열 데이터 구조를 약간 변형한 것입니다. 양쪽 끝에서 요소를 추가하거나 제거할 수 있으므로 이중 끝 큐라고도 합니다. 이 인터페이스는 ArrayDeque 클래스를 인스턴스화합니다.
구문:
Deque<T> deque = new ArrayDeque<>();
This class is inherent implementation for hash table data structure. Objects that are inserted into HashSet do not provide any guarantee that elements will be inserted in the same order. Objects are inserted based on hashcode and allow insertion of NULL elements too.
Syntax:
HashSet<T> hashset = new HashSet<>();
It is much similar to Hash Set but uses a double linked list to store data by retaining the order of elements
Syntax:
LinkedHashSet<T> linked_hashset = new LinkedHashSet<>();
This interface is much similar to Set Interface. It has extra methods which maintain the order of elements. Interface is implemented by instantiating is Tree Set.
Syntax:
SortedSet<T> sorted_Set = new TreeSet<>();
This class uses a Tree for storage. Ordering of elements is maintained by using natural ordering else an external comparator is required.
Syntax:
TreeSet<T> tree_set = new treeSet<>();
This interface, Map is a data structure with key-value mapping data. It does not support duplicates because the same key cannot have multiple mappings. Map Interface is implemented by classes like Hash Map, Tree Map, etc.
Syntax:
Map<T> hash_map = new HashMap<>(); Map<T> tree_map = new TreeMap<>();
It provides a basic implementation of Java Map interface. To access a value in Hash Map, key is to be known. There is a technique of converting larger strings to small strings
Syntax:
HashMap<T, T> hashmap = new HashMap<T, T>();
With this, we conclude our topic “Java Collection Types”. We have seen various Interfaces and also the Iterable through which Interface came out. We have studied various interfaces such as Set, Java List, and Map interface and also covered subtypes of Java Collection Framework i.e. Stack, Queue, Deque. All the Syntax is given here which will be helpful to write logic and implement it programmatically. We have also seen the Java Collection Framework Hierarchy.
위 내용은 Java 컬렉션 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!