MapleStory Cookie With Halo

☕ JAVA/☕ Class & Method

[JAVA]배열[ ] 정렬sort()

뉴이 NUEY 2024. 11. 23. 14:39
반응형

 

정렬이 필요한 자료구조는?
순서가 있는 자료형 Array[ ] 와 List
set은 순서가 없고, map은 key로 값을 가져옵니다.
따라서 자바 기본 배열과 리스트만이 순서가 있으므로
그 두가지 자료구조에서 정렬하는 방법을 알 필요가 있습니다.
arrayList는 이름에서 알 수 있듯이 배열 저장방식을 사용하는 리스트입니다.

 


 

Arrays.sort(배열명)
배열 정렬의 기본
사전순. 오름차순.

 

여기 int형 기본 배열이 있습니다.
clone()으로 복제해 Arrays.sort()로 정렬합니다.
출력해보면 오름차순으로 정렬된 게 확인됩니다.

http://Arrays.sort() docs

길어보이지만 맨아래 두개를 제외하면 모두 동일한 기능입니다.

  • 어떤 타입이든 배열[ ]을 인수로 사용하면 ascending오름차순으로 정렬한다.
  • Arrays.sort(배열명, 시작 인덱스, 종료인덱스) → 구간만 정렬한다.

출력결과

 

배열을 정렬할 때 사용하는 기본 함수인 sort()가
오름차순으로 정렬되고, 원하는 구간만 정렬할 수 있다는 것을 알 수 있습니다.

 


 

대소문자 구분 없이 정렬하기

Arrays.sort(배열, String.CASE_INSENSITIVE_ORDER);

 


 

내림차순

sort(객체, Comparator) 를 사용해야 합니다.

 

Comparator 란?

2024.11.23 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA]Comparator와 Comparable

여기서는 sort()함수가 Comparator를 이용하고 있습니다.
  • sort(객체,...)를 사용해야 하기 때문에
    int형 변수를 Integer(객체)로 변환해야 합니다.

수동 변환
stream()을 이용한 변환

 

Arrays.sort(객체, comparator)가 와야하는데 Collections.reverseOrder()가 오는 이유
reverseOrder()가 comparator를 반환하기 때문에 사용가능.

출력결과

 

 

반응형