본문 바로가기
java/기타

[Collection Framework] 정리

by 권성호 2022. 1. 4.

참고

https://gbsb.tistory.com/247

 

자바 컬렉션 프레임워크(Java Collection Framework) 정리

목차 자바 컬렉션 프레임워크 컬렉션 인터페이스 1. Collection 인터페이스 그룹 1.1 Collection 인터페이스 1.2 List 인터페이스 1.3 Set 인터페이스 1.4 SortedSet 인터페이스 1.5 Queue 인터페이스 1.6 Deque..

gbsb.tistory.com

 

1.  List

 

[JAVA] ArrayList와 LinkedList의 차이

ArrayList vs LinkedList 차이 List 인터페이스의 구현체는 뭐가 있을까요? Stack , Vector , ArrayList , LinkedList 가 있습니다. 이 중에서도 대표적인 클래스인 ArrayList , LinkedList 차이에 대해 정리해보..

devlog-wjdrbs96.tistory.com

 

 

2.  Stack

  • Stack 구현채를 사용한다.

 

3.  Queue

  • LinkedList 구현채를 사용한다.
  • 우선순위 큐의 경우 PriorityQueue 구현채를 사용한다.

 

4.  Map

  • 주로 HashMap 사용? -> 그렇다

 

5.  Set

  • 중복 요소를 포함할 수 없으다.
  • 랜덤 액세스(Random access)를 허용하지 않으므로, iterator 또는 foreach를 이용하여 요소를 탐색한다.
  • HashSet
    • 정렬을 해주지 않음?
    • 1차적으로 HashTable형태 -> 동일한 hash값들에 대해선 별도의 tree로 관리하여 최적화
    • 즉, 내부적으로 HashMap을 사용함
  • TreeSet
    • 오름차순으로 자동정렬
    • 나는 이걸 많이 쓸듯...?(이게 c++의 set과 대응되어 보인다) => 아니다, 이것보다 HashSet이 조금 더 최적화가 되어있는 것으로 보인다.
  • LinkedHashSet
    • 입력된 순서대로 데이터를 관리
  • https://velog.io/@gillog/HashSet
 

Set 컬렉션 - HashSet, TreeSet, LinkedHashSet

HashSet은 Set 인터페이스의 구현 클래스이다. Set 컬렉션은 객체를 중복해서 저장할 수 없고, 하나의 null만 저장 할 수 있다.또한 저장 순서가 유지되지 않는다. 만약 요소의 저장 순서를 유지해야

velog.io

 

댓글