Java 컬렉션 프레임워크(자세한 설명)

컬렉션:
컨테이너라고도 하는 컬렉션은 데이터를 저장, 추출, 삭제하는 데 사용됩니다. JDK에서 제공하는 컬렉션 API는 java.util 패키지에 포함되어 있습니다.

컬렉션 분기:
컬렉션 프레임워크의 두 가지 주요 분기: 컬렉션 인터페이스와 맵 인터페이스

1. 수집 인터페이스:

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

1,목록

리스트는 요소의 인덱스에 따라 직접 접근할 수 있는 순서 있고 반복 가능한 컬렉션을 나타냅니다
.
리스트 컬렉션의 특징 컬렉션
의 요소는 반복이 허용됩니다
. 컬렉션의 요소는 순서가 있으며 각 요소의 순서는 다음과 같습니다. 요소가 삽입되는 순서는
컬렉션에 있는 각 요소의 순서입니다. 인덱스를 통해 액세스하거나 설정할 수 있습니다.

List 인터페이스 의 일반적으로 사용되는 구현 클래스는 ArrayList, LinkedList, Vector 입니다.

배열목록

ArrayList는 동적 배열이자 가장 일반적으로 사용되는 컬렉션으로, List 클래스의 일반적인 구현입니다.

규칙을 준수하는 모든 요소(null 포함)를 삽입할 수 있습니다. 각 ArrayList에는 배열의 크기를 나타내는 초기 용량(10)이 있습니다.

컨테이너에 요소가 계속해서 증가함에 따라 컨테이너의 크기도 커지게 되며, 컨테이너에 요소가 추가될 때마다 용량 검사를 수행하고, 오버플로 직전이면 확장 작업을 수행하게 됩니다.

따라서 삽입할 요소 수를 알고 있다면 시간과 효율성을 낭비하는 과도한 확장 작업을 피하기 위해 초기 용량 값을 지정하는 것이 가장 좋습니다.

ArrayList는 무작위 액세스에 능숙하지만 ArrayList는 비동기식입니다
.

벡터

ArrayList와 유사하지만 Vector가 동기화되어 있으며 동작은 ArrayList와 거의 동일합니다.

링크드리스트

LinkedList는 양방향 순환 연결 목록을 사용하여 구현됩니다. LinkedList는 List 인터페이스의 또 다른 구현입니다. LinkedList는 인덱스에 따라 컬렉션 요소에 액세스하는 것 외에도 양방향 대기열로 사용할 수 있는 Deque 인터페이스도 구현합니다. 즉, "스택"으로 사용하거나 대기열로 사용할 수도 있습니다.

2, 세트

Set은 순서가 지정되지 않은 반복 불가능한 컬렉션을 나타내며 요소 자체를 기반으로만 액세스할 수 있습니다.

Set은 Collection 인터페이스를 확장하고 중복된 요소를 저장할 수 없는 순서가 지정되지 않은 컬렉션입니다.

Set 인터페이스의 일반적으로 사용되는 구현 클래스는 HashSet, LinkedHashSet 및 TreeSet입니다.
여기에 이미지 설명을 삽입하세요.

3, 대기열

대기열은 대기열의 모음입니다.

대기열은 중요한 데이터 구조 유형으로 FIFO, 테일 추가 및 헤드 삭제(고급 대기열의 요소가 먼저 대기열에서 제거됨)를 지원하며 이는 우리 삶의 대기열과 유사합니다.
여기에 이미지 설명을 삽입하세요.

2. 지도 인터페이스:

여기에 이미지 설명을 삽입하세요.

1.해시맵

Map 인터페이스는 해시 테이블 구현을 기반으로 하며 키-값 쌍 처리에 가장 자주 사용되는 데이터 유형입니다.

키의 hashCode 값에 따라 데이터를 저장하며 대부분의 경우 해당 값을 직접 찾을 수 있으며 빠른 액세스 속도, 불확실한 순회 순서, 스레드 안전하지 않음을 특징으로 하며 최대 하나의 키가 Null 및 여러 값을 허용합니다. ​​null입니다.

HashMap을 스레드로부터 안전하게 만들기 위해 Collections의synchronousMap 메소드를 사용하거나 ConcurrentHashMap 클래스를 사용할 수 있습니다.

2.해시테이블

Hashtable과 HashMap은 저장 구조와 구현 면에서 많은 유사점을 가지고 있으나 차이점은 Dictionary 클래스에서 상속되어 스레드로부터 안전하다는 점입니다. 또한 Hashtable은 키와 값이 null이 되는 것을 허용하지 않으며 동시성이 있습니다. ConcurrentHashMap만큼 좋지는 않습니다.

새로운 코드에서는 Hashtable을 사용하지 않는 것이 좋습니다. 스레드 안전성이 필요하지 않은 경우 HashMap으로 대체할 수 있으며, 스레드 안전성이 필요한 경우 ConcurrentHashMap을 사용할 수 있습니다.

3.LinkedHashMap

LinkedHashMap은 HashMap을 상속하고 Map 인터페이스의 해시 테이블 및 연결 목록 구현입니다. 이중 연결 목록을 유지합니다. 이 연결 목록은 삽입 순서 또는 액세스 순서일 수 있는 반복 순서를 정의합니다.

4.트리맵

TreeMap은 SortMap 인터페이스를 구현하고 키에 따라 저장하는 레코드를 정렬할 수 있습니다. 기본값은 키 값을 기준으로 오름차순(자연순)으로 정렬하는 것입니다. 정렬 비교기를 지정할 수도 있습니다. Iterator를 사용하여 TreeMap을 순회하는 경우 , 획득한 레코드가 정렬됩니다.

5.지도 요약

여기에 이미지 설명을 삽입하세요.
:
알겠습니다. 위 내용은 컬렉션 프레임워크의 전체 내용입니다.

추천

출처blog.csdn.net/sweetser/article/details/134585167