- 컬렉션 프레임워크
- 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화 하여 클래스로 구현해놓은 것
- 라이브러리 방식으로 작동하고, 다양한 컬렉션을 정의하는 인터페이스와 이를 구현하는 클래스를 제공한다.
💡 Array(배열) vs Collection(컬렉션)
배열은 정적 메모리 할당을 하지만 컬렉션은 동적 메모리 할당을 수행한다.
int[] array = new int[4]; HashMap<String, String> map = new HashMap<String, String>();
이 때, 배열인 array는 4칸짜리 공간밖에 쓰지 못하지만 컬렉션인 map은 필요한 만큼 추가할 수 있다.
🚩 Array 정렬
Integer[] arr = {8,7,6,5,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
Arrays.sort(arr, Collections.reverseOrder());
🚩 Collection 정렬
List<Integer> list = Arrays.asList(8,7,6,5,4);
Collections.sort(list);
System.out.println(list);
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);
< Collection의 프레임 워크 상속 구조 >
✔️ Collection 인터페이스의 특징
인터페이스 | 구현클래스 | 순서 | 중복 | 특징 |
Set | HashSet TreeSet |
X | X | |
List | LinkedList Vector ArrayList |
O | O | |
Queue | LinkedList PriorityQueue |
O | O | List와 유사 |
Map | Hashtable HashMap TreeMap |
X | Key X Value O |
정렬의 종류를 이해하기 위해 이 블로그를 참고했다
이해가 쉽게 그림을 애니메이션화 시킨 것이다
[알고리즘]정렬 알고리즘의 선택과 종류 7가지
- 초안 작성 : 2020년 12월 27일 - 1차 수정 : 2023년 4월 3일 정렬 알고리즘이란? - 목록 안에 저장된 요소들을 특정한 순서대로 재배치하는 알고리즘 - 입력데이터는 보통 배열과 같은 데이터 구조 (연
hyo-ue4study.tistory.com
- Array
int[]
- Collection
List<Integet>
이분탐색 (O logN)
binarySearch
--> 같은 숫자가 있을 때 어떤 인덱스를 보여줄 지 보장되지 않는다.
<정렬 알고리즘 7가지>
이 블로그에 나와있는 애니메이션을 보면 정렬의 종류에 대해 쉽게 이해할 수 있다.
https://hyo-ue4study.tistory.com/68
Reference
https://choicode.tistory.com/25
'data structure' 카테고리의 다른 글
[자료구조] Deque (1) | 2024.04.03 |
---|---|
[자료구조] Queue (1) | 2024.04.03 |
[자료구조] Stack (0) | 2024.04.03 |