[Java] Arrays.sort / list.sort / Collections.sort / 정렬하는 방법 정리
2022. 2. 17. 13:45
메소드명 | Arrays.sort | Collections.sort | list.sort |
정렬대상 | 배열(int[] arr ... ) | ArrayList<>() or list() | 리스트(list ~ ) |
Arrays.sort
디폴트 정렬 값은 오름차순이다.
내림차순의 정렬을 위해서는 Arrays.sort( arr(배열이름) , Collections.reversOrder()); 이라는 메소드를 사용한다.
또한 배열의 특정 구간까지만 정렬하는 것도 가능하다.
Arrays.sort( arr(배열이름), 배열의 시작번호, 구간의 마지막번호+1);
구간의 마지막번호+1 이라는 것은 유저가 배열 index의 7번째 값까지 정렬하고 싶다면 8을 입력하라는 의미이다.
만약 유저가 arr 배열의 index 3번부터 10번까지 정렬을 하고 싶다면,
Arrays.sor( arr, 3, 11); 으로 입력하게 될 것이다.
Collections.sort
Collections.sort 를 이해하기 전, 먼저 알아둬야 할 것은 ArrayList 의 개념이다.
ArrayList 는 List 인터페이스를 상속받아 생겨난 클래스이다.
즉 ArrayList 는 클래스 이다. 반면에 List 는 인터페이스이다.
따라서 Collections.sort 는 ArrayList에서도, List 에서도 사용이 가능하다.
한편, ArrayList 는 array와 마찬가지로 인덱스로 객체를 관리한다는 특징이 있지만,
크기가 고정되는 array에 비해 ArrayList 는 크기를 동적으로 증가시킬 수 있다. ArrayList는 내부적으로 초기값이 설정되며, 초기값을 넘는 인덱스가 입력되게 되면 자동적으로 1.5배로 크기가 증가한다.
list.sort
'Java' 카테고리의 다른 글
[Java] Collection 프레임워크(1) - List(LinkedList, Stack, Vector, ArrayList) (0) | 2022.03.02 |
---|---|
[Java] Collections.sort // Comparable+CompareTo 와 Comparator 를 이용한 정렬 (0) | 2022.02.17 |
[Java] 메소드 사용에 있어서의 break, return 의 차이점 (0) | 2022.02.15 |
[Java] 자바의 인터페이스 : 상수와 추상 메소드. 추상 클래스와의 차이점, 오버라이딩 (0) | 2022.02.10 |
[Java] 상속, IS-A 관계 (0) | 2022.02.10 |