TIL_230303_자바의 정석 복습_컬렉션 프레임워크 2

창고·2023년 3월 3일
0

본 내용은 <자바의 정석> 내용을 복습, 정리하였습니다.

Chapter 11. 컬렉션 프레임워크

1. 컬렉션 프레임워크

(6) Arrays

  • 배열을 다루는데 유용한 메서드가 정의되어 있음
  • 배열의 복사 : copyOf(), copyOfRange()
    • 배열 전체, 혹은 배열의 일부를 복사해서 새로운 배열을 반환. 범위 지정 시 지정된 범위의 끝은 포함하지 않음
  • 배열 채우기 : fill(), setAll()
    • fill() : 배열의 모든 요소를 지정된 값으로 채움
    • setAll() : 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받음. 함수형 인터페이스를 구현한 객체를 매개변수로 지정하거나 람다식을 지정해야 함
  • 배열의 정렬 및 검색 - sort(), binarySearch()
    • sort() : 배열 정렬
    • binarySearch() : 이진 탐색 사용, 단 배열이 정렬된 상태에서만 사용 가능
  • 배열을 List로 변환 - asList(Object a)
  • parallelXXX(), spliterator(), stream()

(7) Comparator와 Comparable

  • Comparator, Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있음
    • Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들 -> 기본적으로 오름차순으로 정렬
    • 기본 정렬 기준 외에 다른 정렬 기준(내림차순 등) 을 사용하고 싶을 경우 Comparator를 구현

(8) HashSet

  • Set 인터페이스를 구현한 대표적인 컬렉션 (중복값을 허용하지 않음)
  • Set에 새로운 요소 추가 시 add 메서드나 addAll 메서드를 사용하는데 이미 저장되어 있는 요소와 중복된 요소를 추가하고자 하면 실패하게 됨 (false 반환)
    -> 컬렉션 내 중복된 요소를 제거할 수 있음
  • HashSet의 경우 저장 순서를 유지하지 않으므로 저장 순서를 유지하려면 LinkedHashSet을 이용해야 함

(9) TreeSet

  • 이진 검색 트리의 형태로 데이터를 저장하는 컬랙션 클래스
  • Set을 구현하였기에 중복된 데이터의 저장을 허용하지 않고, 정렬된 위치에 저장하므로 저장 순서를 유지하지 않음
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글