본문 바로가기

이론/알고리즘&자료구조&Java

[Java] Arrays / Collections

Arrays

주요메소드

  • Arrays.asList<T... a> -> List타입으로 변환

  • Arrays.binarySearch(T[] arr, T item) -> item의 index 반환

  • Arrays.equals(T[] arr1,T[] arr2) -> 두 배열이 일치하는지 true/false

  • Arrays.sort(T[] arr) -> arr을 오름차순으로 정렬

  • Arrays.sort(T[] arr, Comparator<? super T> c) -> arr을 Comparator에 맞추어 정렬

주로 기본형 정렬에 활용된다. 기본형이 아닌 타입은 Comparator를 활용할 수 있다


Collections

  • Collections.binarySearch(List<? extends T> list)

  • Collections.rotate(List<?> list, int distance) -> distance만큼 회전한 List 반환

  • Collections.sort(List<T> list)

Comparator를 이용해 사용자 지정 정렬 방식을 적용할 수 있다

과거에는 primitive type에는 Quick Sort, Object나 Comparable 적용된 sort에는 MergeSort를 활용했다고 한다.

현재는 Dual-Pivot Quick Sort, TimSort(Insert Sort+Merge Sort)와 같이 변형된 Sorting 알고리즘을 사용한다.
Map, List, Set 등 Collection 객체 타입을 위한 메소드를 제공한다.