본문 바로가기

수업 & 공부

Java - Collection

Collection Framework

자료구조를 기반으로 읽기 추가 삭제 검색 등 효율적으로 객체를 사용하기 위해

작성되어있는 인터페이스와 클래스들 제공

iterable 인터페이스를 확장하고 있다

 

(Map도 Collection으로 분류)

출처 : https://gangnam-americano.tistory.com/41

 

Collection

1. List

순서가 있는 저장공간

  내용
LinkedList 각 노드가 이전 노드와 다음노드의 상태만 알고있음 (양방향 연결 리스트)
데이터 추가 삭제시 주소값을 변경해주면 되기때문에, 추가 삭제 성능이 좋다
맨 마지막 값이나 처음값 추가 삭제시 O(1) 시간복잡도 (양방향 연결 리스트)

단점
조회 성능이 느리다
ArrayList 데이터에 대한 인덱스를 가짐. 조회 성능이 좋다 O(1)
순서가 있고 중복값 허용

단점
데이터 추가 삭제가 느리다.
Stack LIFO(last in first out) 구조

 

2. Set

집합적인 저장공간. 중복값을 허용하지 않는다

  내용
HashSet 특정 순서대로 정렬되어있지 않은 Set
SortedSet
(TreeSet)
HashSet 에서 값의 순서에 따라 정렬을 해주는 Set

 

 

 

Map

<key, value> 으로 구성된 데이터 저장 (키는 중복X, 값은 중복O)

  내용 Null값 허용
HashTable   X
HashMap 하나의 키값과 여러값들이 Null허용 (Key값은 중복 허용X 라서) O
SortedMap
(TreeMap)
HashMap 에서 Value값에 대한 정렬이 이루어짐
(sortedMap 상속)
Key X , Value O

 

 

 

 

[JAVA] Java 컬렉션(Collection) 정리

[JAVA] Java 컬렉션(Collection) 정리 ■ Java Collections Framework(JCF) Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미하며 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬..

gangnam-americano.tistory.com

 

 

ArrayList와 LinkedList의 차이

위 사진을 보면 알 수 있듯 ArrayList는 index가 있고, LinkedList는 각 원소마다 앞,뒤 원소의 위치값을 가지고 있다. 이러한 각각의 특징은 조회, 삽입, 삭제시에 성능의 차이를 발생시킨다. references : 

dev-coco.tistory.com

 

'수업 & 공부' 카테고리의 다른 글

lambda  (0) 2022.10.01
Wrapper Class란  (0) 2022.09.29
동적 계획법 알고리즘 (Dynamic Programming)  (0) 2022.09.06
시간 복잡도 관련 참고할 글  (0) 2022.08.25
Spring boot Request DTO 에 null값  (0) 2022.03.01