Coding Note

컬렉션 프레임워크 요약 본문

JAVA

컬렉션 프레임워크 요약

jinnkim 2022. 6. 24. 15:25

 

 

컬렉션 프레임워크(collection framework)

 


 

컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합이다.

 

즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것!

 

 

자바 인터페이스 상속 관계

 

 

+) Iterable<E> : Collection 인터페이스의 최상위 인터페이스

 

 

- 대량의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스 집합

- 데이터를 처리하는 알고리즘과 데이터를 저장하는 자료구조를 구조화하여 클래스로 구현한 것

- 데이터 자료 구조에 따라 List, Set, Map으로 나누어짐

 

 

 

 

1. List

 

 

 

 

- 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다.

 

  • ArrayList

- 객체 내부에 있는 배열에 데이터를 저장

- 단방향 포인터 구조로 데이터에 대한 인덱스를 가지고 있어 조회 기능에 성능이 뛰어남

- 동기화 보장 하지 않음

 

  • LinkedList

- 양방향 포인터 구조로 데이터의 삽입, 삭제가 잦을 경우에 효율적

- 스택, 큐, 양방향 큐 등에 사용됨

 

  • Vector

- ArrayList와 동일하게 사용이 가능한 리스트, 동기화 여부의 차이가 있음

- 동기화 보장

 

 

  • Stack

- LIFO(Last In First Out), 제일 마지막에 추가된 데이터를 먼저 꺼내는 자료 구조

 

 

 

 

2. Set

 

- 순서를 유지하지 않는 데이터이자 중복을 허용하지 않음

 

 

  • HashSet

- 가장 빠른 임의 접근 속도

- 순서를 예측 할 수 없음

 

  • TreeSet

- 정렬 방법을 지정할 수 있음

 

 

 

 

3. Queue

- List와 유사

- FIFO(First In First Out)

- 데이터가 삽입시 enqueue, 데이터 나갈 때 dequeue

 

 

  • ArrayDeque

- 양쪽으로 삽입, 삭제가 가능한 큐 자료 구조

 

  • PriorityQueue

- 우선 순위를 가지는 큐로 원소에 우선순위를 부여하여 높은 순으로 먼저 반환함

- 이진트리 구조로 구현되어 있음

 

 

 

4. Map

- 키, 값 형식으로 이루어진 데이터 집합

- 순서는 유지되지 않으면 키(Key) 중복을 허용하지 않으나 값(Value) 중복 허용

 

 

  • HashTable

- HashMap보다는 느리지만 동기화 지원됨

- null 불가

 

  • HashMap

- 중복과 순서가 허용되지 않으면 null값 허용

 

  • TreeMap

- 정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠름

 

 

 

 

5. 차이점

 

  • List/Set

- List는 순서가 있는 Collection이기 때문에 데이터를 넣는 순서가 보장되어 Index로 특정 아이템을 가져올 수 있지만 Set은 데이터를 넣는 순서가 보장되지 않아 불가능함

 

 

  • List/Map

- List는 순서, Map은 순서 있음

 

 

  • Set/Map

- Set은 데이터 중복 허용하지 않지만, Map은 key 중복 불가, Value 중복 허용

 

 

 

'JAVA' 카테고리의 다른 글

JAVA - 접근제한자  (0) 2022.04.19
[JAVA] CodeUp 기초 1023~ 1026  (0) 2022.02.10
[JAVA] Input/Output Stream 알아보기!  (0) 2022.02.10
[JAVA] next(), nextLine() 함수의 차이점  (0) 2022.02.09
[JAVA] SMS 보내기  (0) 2021.12.14
Comments