[JAVA]

22-2. 컬렉션 프레임웍 (2/2)

혜리노베이션 2023. 6. 1. 21:39

1. Arrays

- 배열을 다루기 편리한 메서드(Static) 제공
  1) 배열의 출력 - toString()
  2) 배열의 복사 - copyOf(), copyOfRange()
  3) 배열 채우기 - fill(), setAll()
  4) 배열의 정렬과 검색 - sort(), binarySearch()
     * 정렬 먼저 필수
     ** sort(arr) // 배열arr을 정렬한다.
  5) 다차원 배열의 출력 - deepTostring()
  6) 다차원 배열의 비교 - deepEquals()
  7) 배열을 List로 변환 - asList(Object...a)
     * List는 읽기 전용
     ** List list = new ArrayList(Arrays.asList(1,2,3,4,5));
  8) 람다와 스트림 관련 (14장에서 배울 예정)

 

2. Comparator와 Comparable


- 객체 정렬에 필요한 메서드(정렬기준 제공)룰 정의한 인터페이스
- Comparator: 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때
- Comparable: 기본 정렬기준을 구현

 


3. HashSet *순서 X 중복 X


   * List는 순서 O 중복 O
- Set인터페이스를 구현한 대표적인 컬렉션 클래스
- 순서를 유지하려면 LinkedHashSet클래스를 사용

 


4. TreeSet - 범위 탐색, 정렬


- 이진 탐색 트리로 구현, 범위 탐색과 정렬에 유리
- 이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖음
- 각 node가 나무 형태로 연결 (LinkedList의 변형)

 


5. HashMap과 Hashtable


- Map의 인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장
- Hashtable이 신버전이고 동기화O