반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- html
- javascript
- input
- Maven
- ArrayList
- windows
- date
- 테이블
- Button
- js
- 배열
- list
- Visual Studio Code
- Java
- 문자열
- IntelliJ
- string
- json
- Array
- 이클립스
- CMD
- 이탈리아
- 자바
- Eclipse
- vscode
- 정규식
- CSS
- table
- 인텔리제이
- 자바스크립트
Archives
- Today
- Total
어제 오늘 내일
[Java 기초] Arrays.sort() vs Collections.sort() 차이 정리 본문
자바에서 정렬을 할 때 흔히 사용하는 두 가지 방법이 있습니다.
- Arrays.sort()
- Collections.sort()
둘 다 배열이나 컬렉션을 정렬할 때 쓰이지만, 적용 대상과 내부 동작에서 차이가 있습니다.
1. Arrays.sort()
- 대상: 배열(array)
- 위치: java.util.Arrays 클래스에 포함
- 사용법: Arrays.sort(배열)
import java.util.Arrays;
public class ArraysSortExample {
public static void main(String[] args) {
int[] arr = {5, 3, 1, 4, 2};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
출력 결과
[1, 2, 3, 4, 5]
👉 **배열 자료형(int[], String[] 등)**을 정렬할 때 사용합니다.
2. Collections.sort()
- 대상: 리스트(List)
- 위치: java.util.Collections 클래스에 포함
- 사용법: Collections.sort(리스트)
import java.util.*;
public class CollectionsSortExample {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(5, 3, 1, 4, 2);
Collections.sort(list);
System.out.println(list);
}
}
출력 결과
[1, 2, 3, 4, 5]
👉 List, ArrayList, LinkedList 같은 컬렉션 자료구조를 정렬할 때 사용합니다.
3. 주요 차이점 비교
구분 Arrays.sort() Collections.sort()
적용 대상 | 배열(array) | 리스트(List) |
소속 클래스 | java.util.Arrays | java.util.Collections |
반환 값 | 없음 (원본 배열 수정) | 없음 (원본 리스트 수정) |
지원 타입 | 기본형 배열(int[], double[] 등), 객체 배열 | 객체 타입 리스트 (List<T>) |
정렬 기준 | 기본 오름차순, Comparator 가능 | 기본 오름차순, Comparator 가능 |
4. Comparator 활용 예시
두 메서드 모두 Comparator를 사용해서 사용자 정의 정렬이 가능합니다.
Arrays.sort() + Comparator
import java.util.*;
public class ArraysComparatorExample {
public static void main(String[] args) {
String[] arr = {"banana", "apple", "cherry"};
Arrays.sort(arr, Comparator.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
출력 결과
[cherry, banana, apple]
Collections.sort() + Comparator
import java.util.*;
public class CollectionsComparatorExample {
public static void main(String[] args) {
List<String> list = Arrays.asList("banana", "apple", "cherry");
Collections.sort(list, Comparator.reverseOrder());
System.out.println(list);
}
}
출력 결과
[cherry, banana, apple]
👉 동작은 같지만, 정렬 대상이 배열이냐 리스트냐에 따라 선택하는 메서드가 달라집니다.
5. 정리
- 배열을 정렬할 때 → Arrays.sort()
- 리스트를 정렬할 때 → Collections.sort()
- 둘 다 원본을 변경 (새로운 배열이나 리스트를 반환하지 않음)
- 둘 다 Comparator를 사용하면 원하는 기준으로 정렬 가능
Arrays.sort()는 배열용, Collections.sort()는 리스트용 정렬 메서드입니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java 기초] Arrays.equals()로 배열 비교하기 (1) | 2025.08.28 |
---|---|
[Java 기초] Arrays.copyOf()로 배열 복사하기 (0) | 2025.08.27 |
[Java StringBuffer] reverse() – 문자열 뒤집기 (1) | 2025.08.26 |
[Java 기초] Arrays.sort()로 배열 정렬하기 (2) | 2025.08.26 |
[Java String] String.indexOf() – 문자열에서 위치 찾기 (0) | 2025.08.26 |
Comments