티스토리 뷰

728x90
반응형
SMALL

Collection

List

특징

index 순서로 저장되며, data 중복을 허용
data를 저장하면, 해당 data의 index가 부여되고, index를 통해 data 조회 및 삭제가 가능

ArrayList

  • 생성 방법 : List<E> list = new ArrayList<>();
  • List 인터페이스를 구현한 클래스.
  • 비동기이기때문에 여러스레드가 동시에 동작할 수 있다
  • 추가/삭제의 성능이 좋지 않고, 검색할 때 성능이 좋다
  • 데이터가 들어올 때마다 자동으로 용랑이 늘어난다.

LinkedList

  • 생성 방법 : List<E> list = new LinkedList<>();
  • 사용 방법은 ArrayList와 동일
  • 비동기로 동작하므로 여러 스레드가 동시에 동작할 수 있다
  • 추가/삭제의 성능이 빠르다
  • 처음 노드부터 검색해야하기 때문에 검색 성능이 좋지 않다

Vector

  • 생성 방법 : List<E> list = new Vector<>();
  • ArrayList와 동일한 구조
  • 모든 메소드들이 동기화되어있다
  • 단일스레드에서는 성능이 좋지 않다.

Set

특징

순서가 없는 data의 집합
중복을 허용하지 않는다
index가 없으므로 iterator를 사용해야 한다(순서가 보장되지 않음)
Thread-safety하지 않다

HashSet

  • 생성 방법 : Set<E> set = new HashSet<>();
  • 접근속도가 가장 빠르다
  • 순서를 알 수 없다

TreeSet

  • 생성 방법 : Set<E> set = new TreeSet<>();
  • 데이터를 정렬해서 순서대로 보관

LinkdedHashSet

  • 생성 방법 : Set<E> set = new LinkdedHashSet<>();
  • 추가된 순서대로 접근이 가능하다

Map

특징

key, value의 쌍으로 저장
key로 data를 관리하므로 key는 중복허용을 하지 않는다.

HashMap

  • 생성 방법 : Map<K, V> map = new HashMap<>();
  • null 허용

Hashtable

  • hashMap 보다 느림, 동기화
  • null을 허용하지 않는다

TreeMap

  • 정렬된 순서로 key/value를 저장하므로 검색이 빠르다
  • 정렬을 하기 때문에 추가/삭제의 성능이 좋지 않다.
728x90
반응형
LIST

'Java > Collection 정리' 카테고리의 다른 글

Set 메소드 정리  (0) 2021.01.14
Map 메소드 정리  (0) 2021.01.14
List 메소드 정리  (0) 2021.01.14
댓글
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함