컬렉션 프레임웍
업데이트:
컬렉션 프레임웍
컬렉션
- 여러 객체를 모아 놓은 것을 의미
프레임웍
- 표준화, 정형화된 체계적인 프로그래밍 방식
컬렉션 프레임웍
- 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
- java.util 패키지에 포함
컬렉션 클래스
- 다수의 데이터르 저장할 수 있는 클래
- Vector, ArrayLst, HashSet …
List
순서가 있는 데이터의 집합, 중복을 허용한다.
ArrayList
- 기존의 Vecotr를 개선함
- 동기화가 되지 않음
- 배열기반으로 데이터를 저장한다.
- 데이터 입력 및 삭제시 데이터 를 한칸씩 이동해서 복사한다.
LinkedList
- 불연속적으로 존재하는 데이터를 연결(link)
- 링크로 연결되어 있고 연속적이지 않아 데이터를 찾을때 처음부터 찾아서 오래걸린다.
- 삭제 및 추가는 빠름, 연결만 변경하면됨
- 더블리 링크드 리스트
- 이중 연결 리스트로 링크드 리스트는 앞으로만 간다면 더블리는 양쪽으로 갈 수 있다.
- 접근성을 향상
- 이중 원형 연결 리스트
- 마지막 값과 처음 값을 연결한다.
- 처음에서 끝으로 갈때 순차적으로 가는게 아닌 바로 갈 수 있다.
Set
순서를 유지하지 않는 데이터의 집합, 중복을 허용하지 않는다.
HashSet
- set 구현객체
- 순서를 유지하고 싶으면 LinkedHashSet 사용하면됨
TreeSet
- 이진탐색 트리로 구현, 범위 검색과 정렬에 유리함
- 데이터 추가, 삭제에 시간이 더 걸림
Stack, Que
Stack
- 마지막에 저장된 것을 제일 먼저 꺼낸다, LIFO
- 배열을 가지고 만드는게 유리함
- DFS 에서 사용됨
- push : 저장
- pop : 추출
Que
- 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다.
- 링크드 리스트로 사용하는 것이 유리함
- BFS 에서 사용됨
- offer : 저장
- poll : 추출
Map
key, value의 쌍으로 이루어진 데이터의 집합, 순서는 유지되지 않으며 key는 중복을 허용하지 않고 value는 중복을 허용한다.
\
댓글남기기