@@ -18,6 +18,31 @@ Java의 Collection란 데이터의 집합, 그룹을 의미한다.
18
18
- Collection Interface는 크게 ` List ` , ` Set ` , ` Queue ` 3가지로 분류된다.
19
19
- ` Map ` 인터페이스는 Collection 인터페이스를 상속받지 않지만 Collection으로 분류한다.
20
20
21
+ ## Collection 특징
22
+ | 컬렉션 | 특징 |
23
+ | --- | --- |
24
+ | ArrayList | 배열기반, 데이터의 추가와 삭제에 불리, 순차적인 추가/삭제는 제일 빠름, 임의의 요소에 대한 접근성이 뛰어남 |
25
+ | Linked List | 연결기반, 데이터의 추가와 삭제에 유리, 임의의 요소에 대한 접근성이 좋지 않다. |
26
+ | HashMap | 배열과 연결이 결합된 형태, 추가/삭제/검색/접근성이 모두 뛰어남, 검색에는 최고 성능을 보인다. |
27
+ | TreeMap | 연결기반, 정렬과 검색(특히 범위검색)에 적합, 검색 성능은 HashMap 보다 떨어진다. |
28
+ | HashSet | 내부적으로 HashMap을 이용해서 구현 |
29
+ | TreeSet | 내부적으로 TreeMap을 이용해서 구현 |
30
+ | LinkedHashMap | HashMap에 저장순서 유지기능을 추가 |
31
+ | LinkedHashSet | HashSet에 저장순서 유지기능을 추가 |
32
+
33
+
34
+ ## Collections 클래스
35
+ ` Collections 클래스 ` 는 모든 컬렉션의 알고리즘을 담당한다.
36
+ - 유틸리티 클래스로써 static 메소드로 구성되어 있고 컬렉션들을 컨트롤하는데에 사용된다.
37
+ - ** 주의할 점은 자바의 Collection은 인터페이스이며, Collections는 클래스라는 점이다** .
38
+
39
+ > 대표적인 메소드
40
+ >
41
+
42
+ - 정렬(Sorting) : 정렬 알고리즘은 요소가 오름차순이 되도록 리스트를 재정렬함
43
+ - 셔플링(Shuffling) : 셔플링 알고리즘은 랜덤으로 목록을 재정렬함 (우연한 게임을 구현할 때 유용)
44
+ - 탐색 (Searching) : 이진 검색 알고리즘은 정렬된 목록에서 지정된 요소를 검색
45
+
21
46
<br />
22
47
23
48
# * List Interface*
@@ -634,6 +659,8 @@ mymap.remove(1); // key를 기준으로 제거
634
659
635
660
< br/ >
636
661
662
+
663
+
637
664
# 면접 예상 질문
638
665
639
666
> List , Set , Map 인터페이스에 대해 설명해주세요
0 commit comments