산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 - 컬렉션 프레임워크

Java 2 이전에 Java는 Dictionary, Vector, Stack과 같은 임시 클래스를 제공했습니다. 및 속성 개체 그룹을 저장하고 조작합니다. 이러한 수업은 매우 유용했지만 중심적이고 통합적인 주제가 부족했습니다. 따라서 Vector를 사용하는 방식과 Properties를 사용하는 방식이 다릅니다.

컬렉션 프레임워크는 다음과 같은 여러 목표를 충족하도록 설계되었습니다. -

이를 위해 전체 컬렉션 프레임워크는 일련의 표준 인터페이스를 중심으로 설계되었습니다. LinkedList, HashSet,와 같은 여러 표준 구현 및 트리세트 , 이러한 인터페이스는 있는 그대로 사용할 수 있도록 제공되며 원하는 경우 고유한 컬렉션을 구현할 수도 있습니다.

컬렉션 프레임워크는 컬렉션을 표현하고 조작하기 위한 통합 아키텍처입니다. 모든 컬렉션 프레임워크에는 다음이 포함됩니다. -

컬렉션 외에도 프레임워크는 여러 맵 인터페이스와 클래스를 정의합니다. 지도는 키/값 쌍을 저장합니다. 지도는 컬렉션이 아니지만 용어를 적절하게 사용하지만 컬렉션과 완전히 통합됩니다.

컬렉션 인터페이스

컬렉션 프레임워크는 여러 인터페이스를 정의합니다. 이 섹션은 각 인터페이스의 개요를 제공합니다 -

Sr.No. 인터페이스 및 설명
1 컬렉션 인터페이스

이를 통해 개체 그룹으로 작업할 수 있습니다. 컬렉션 계층 구조의 맨 위에 있습니다.

2 목록 인터페이스

이것은 수집을 확장합니다. List의 인스턴스는 정렬된 요소 컬렉션을 저장합니다.

3 세트

이것은 컬렉션을 확장하여 고유한 요소를 포함해야 하는 집합을 처리합니다.

4 정렬 집합

이것은 정렬된 집합을 처리하도록 Set을 확장합니다.

5 지도

고유 키를 값에 매핑합니다.

6 지도.진입

이것은 맵의 요소(키/값 쌍)를 설명합니다. Map의 내부 클래스입니다.

7 정렬지도

키가 오름차순으로 유지되도록 Map을 확장합니다.

8 열거

이것은 레거시 인터페이스로 개체 컬렉션의 요소를 열거(한 번에 하나씩 가져옴)할 수 있는 메서드를 정의합니다. 이 레거시 인터페이스는 Iterator로 대체되었습니다.

컬렉션 클래스

Java는 Collection 인터페이스를 구현하는 일련의 표준 컬렉션 클래스를 제공합니다. 일부 클래스는 있는 그대로 사용할 수 있는 전체 구현을 제공하고 다른 클래스는 추상 클래스로 구체적인 컬렉션을 만들기 위한 시작점으로 사용되는 골격 구현을 제공합니다.

표준 컬렉션 클래스는 다음 표에 요약되어 있습니다. -

Sr.No. 클래스 및 설명
1

추상 컬렉션

Collection 인터페이스의 대부분을 구현합니다.

2

추상 목록

AbstractCollection을 확장하고 대부분의 List 인터페이스를 구현합니다.

3

AbstractSequentialList

요소에 대한 임의 액세스가 아닌 순차 액세스를 사용하는 컬렉션에서 사용하도록 AbstractList를 확장합니다.

4 링크드리스트

AbstractSequentialList를 확장하여 연결 목록을 구현합니다.

5 배열 목록

AbstractList를 확장하여 동적 배열을 구현합니다.

6

추상 세트

AbstractCollection을 확장하고 대부분의 Set 인터페이스를 구현합니다.

7 해시셋

해시 테이블과 함께 사용하기 위해 AbstractSet을 확장합니다.

8 LinkedHashSet

삽입 순서 반복을 허용하도록 HashSet을 확장합니다.

9 트리셋

트리에 저장된 집합을 구현합니다. AbstractSet을 확장합니다.

10

추상 지도

대부분의 지도 인터페이스를 구현합니다.

11 해시맵

해시 테이블을 사용하도록 AbstractMap을 확장합니다.

12 트리맵

트리를 사용하도록 AbstractMap을 확장합니다.

13 WeakHashMap

약한 키가 있는 해시 테이블을 사용하도록 AbstractMap을 확장합니다.

14 링크된 해시맵

삽입 순서 반복을 허용하도록 HashMap을 확장합니다.

15 IdentityHashMap

AbstractMap을 확장하고 문서를 비교할 때 참조 동등성을 사용합니다.

AbstractCollection, AbstractSet, AbstractList, AbstractSequentialListAbstractMap 클래스는 핵심 컬렉션 인터페이스의 골격 구현을 제공하여 구현에 필요한 노력을 최소화합니다.

java.util에 의해 정의된 다음 레거시 클래스는 이전 장에서 논의되었습니다 -

Sr.No. 클래스 및 설명
1 벡터

이것은 동적 배열을 구현합니다. ArrayList와 유사하지만 몇 가지 차이점이 있습니다.

2 스택

스택은 표준 후입 선출 스택을 구현하는 Vector의 하위 클래스입니다.

3 사전

Dictionary는 키/값 저장소를 나타내는 추상 클래스이며 Map과 매우 유사하게 작동합니다.

4 해시테이블

Hashtable은 원래 java.util의 일부였으며 사전의 구체적인 구현입니다.

5 속성

속성은 Hashtable의 하위 클래스입니다. 키가 문자열이고 값도 문자열인 값 목록을 유지하는 데 사용됩니다.

6 비트셋

BitSet 클래스는 비트 값을 보유하는 특별한 유형의 배열을 만듭니다. 이 배열은 필요에 따라 크기를 늘릴 수 있습니다.

수집 알고리즘

컬렉션 프레임워크는 컬렉션과 맵에 적용할 수 있는 여러 알고리즘을 정의합니다. 이러한 알고리즘은 Collection 클래스 내에서 정적 메서드로 정의됩니다.

여러 메서드에서 ClassCastException을 throw할 수 있습니다. , 호환되지 않는 유형을 비교하려고 할 때 발생하거나 UnsupportedOperationException , 수정할 수 없는 컬렉션을 수정하려고 할 때 발생합니다.

컬렉션은 EMPTY_SET, EMPTY_LIST 및 EMPTY_MAP의 세 가지 정적 변수를 정의합니다. 모두 변경할 수 없습니다.

Sr.No. 알고리즘 및 설명
1 수집 알고리즘

다음은 모든 알고리즘 구현 목록입니다.

반복자를 어떻게 사용합니까?

종종 컬렉션의 요소를 순환하고 싶을 것입니다. 예를 들어 각 요소를 표시할 수 있습니다.

이를 수행하는 가장 쉬운 방법은 Iterator 또는 ListIterator 인터페이스를 구현하는 객체인 iterator를 사용하는 것입니다.

Iterator를 사용하면 컬렉션을 순환하여 요소를 얻거나 제거할 수 있습니다. ListIterator는 목록의 양방향 순회 및 요소 수정을 허용하도록 Iterator를 확장합니다.

Sr.No. 반복자 메서드 및 설명
1 자바 반복자 사용

다음은 Iterator 및 ListIterator 인터페이스에서 제공하는 예제와 함께 모든 메서드 목록입니다.

비교기를 사용하는 방법?

TreeSet과 TreeMap은 모두 정렬된 순서로 요소를 저장합니다. 그러나 정렬된 순서를 정확히 정의하는 것은 비교기입니다. 의미합니다.

이 인터페이스를 사용하면 주어진 컬렉션을 다양한 방법으로 정렬할 수 있습니다. 또한 이 인터페이스는 모든 클래스(수정할 수 없는 클래스 포함)의 모든 인스턴스를 정렬하는 데 사용할 수 있습니다.

Sr.No. 반복자 메서드 및 설명
1 자바 비교기 사용

다음은 Comparator Interface에서 제공하는 예제와 함께 모든 방법의 목록입니다.

요약

Java 컬렉션 프레임워크는 프로그래머에게 사전 패키지된 데이터 구조와 이를 조작하기 위한 알고리즘에 대한 액세스를 제공합니다.

컬렉션은 다른 개체에 대한 참조를 보유할 수 있는 개체입니다. 컬렉션 인터페이스는 컬렉션의 각 유형에서 수행할 수 있는 작업을 선언합니다.

컬렉션 프레임워크의 클래스와 인터페이스는 java.util 패키지에 있습니다.


java

  1. 자바 연산자
  2. 자바 주석
  3. 자바 for-each 루프
  4. 자바 문자열
  5. 자바 인터페이스
  6. 자바 익명 클래스
  7. 자바 리소스 사용
  8. 자바 주석
  9. 자바 어설션
  10. 예제가 있는 C# 컬렉션 자습서