반응형
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
- ArrayList
- windows
- 문자열
- Button
- string
- Maven
- 정규식
- js
- Eclipse
- vscode
- CSS
- 자바스크립트
- list
- 자바
- 이탈리아
- input
- json
- date
- javascript
- 테이블
- Visual Studio Code
- CMD
- html
- table
- 배열
- Java
- 이클립스
- 인텔리제이
- IntelliJ
- Array
Archives
- Today
- Total
어제 오늘 내일
[Java 기초] Arrays.sort()로 배열 정렬하기 본문
프로그래밍에서 데이터를 정렬하는 기능은 자주 사용됩니다.
자바(Java)에서는 배열을 정렬할 때 Arrays.sort() 메서드를 활용할 수 있습니다.
이번 글에서는 기본적인 사용법부터, 문자열 정렬, 내림차순 정렬, 사용자 정의 정렬까지 정리해보겠습니다.
1. 기본 사용법
Arrays.sort()는 배열을 오름차순(작은 값 → 큰 값)으로 정렬합니다.
import java.util.Arrays;
public class SortExample1 {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 3};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));
}
}
실행 결과
[1, 2, 3, 5, 8]
👉 숫자 배열은 기본적으로 오름차순 정렬됩니다.
2. 문자열 배열 정렬
문자열 배열도 마찬가지로 사전순으로 정렬됩니다.
import java.util.Arrays;
public class SortExample2 {
public static void main(String[] args) {
String[] fruits = {"Banana", "Apple", "Cherry"};
Arrays.sort(fruits);
System.out.println(Arrays.toString(fruits));
}
}
실행 결과
[Apple, Banana, Cherry]
👉 대문자가 소문자보다 먼저 정렬된다는 점에 주의하세요. ("Apple"이 "banana"보다 앞에 옴)
3. 내림차순 정렬
Arrays.sort()는 기본적으로 오름차순만 제공합니다.
내림차순으로 정렬하려면 **Comparator**를 사용해야 합니다.
import java.util.*;
public class SortExample3 {
public static void main(String[] args) {
Integer[] numbers = {5, 2, 8, 1, 3};
Arrays.sort(numbers, Comparator.reverseOrder());
System.out.println(Arrays.toString(numbers));
}
}
실행 결과
[8, 5, 3, 2, 1]
👉 기본형 int[]는 Comparator를 사용할 수 없으므로, **래퍼 클래스 Integer[]**를 사용해야 합니다.
4. 사용자 정의 정렬 (Comparator)
객체 배열을 정렬할 때는 Comparator를 이용해 정렬 기준을 직접 정의할 수 있습니다.
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return name + "(" + age + ")";
}
}
public class SortExample4 {
public static void main(String[] args) {
Person[] people = {
new Person("Kim", 25),
new Person("Lee", 30),
new Person("Park", 20)
};
// 나이 오름차순 정렬
Arrays.sort(people, Comparator.comparingInt(p -> p.age));
System.out.println(Arrays.toString(people));
}
}
실행 결과
[Park(20), Kim(25), Lee(30)]
👉 Comparator.comparingInt()를 사용하면 나이 기준으로 정렬할 수 있습니다.
5. 부분 정렬
배열 전체가 아니라 일부 구간만 정렬할 수도 있습니다.
import java.util.Arrays;
public class SortExample5 {
public static void main(String[] args) {
int[] numbers = {9, 7, 5, 3, 1};
// 인덱스 1부터 4 직전까지 정렬
Arrays.sort(numbers, 1, 4);
System.out.println(Arrays.toString(numbers));
}
}
실행 결과
[9, 3, 5, 7, 1]
👉 Arrays.sort(arr, fromIndex, toIndex)는 fromIndex 포함, toIndex 미포함 범위를 정렬합니다.
6. 정리
- 기본 정렬: Arrays.sort(arr) → 오름차순
- 문자열 정렬: 사전순 (대문자 먼저)
- 내림차순 정렬: Arrays.sort(arr, Comparator.reverseOrder()) (객체 배열만)
- 사용자 정의 정렬: Comparator 활용
- 부분 정렬: Arrays.sort(arr, from, to):
Arrays.sort()는 배열 정렬의 기본 도구이며, Comparator를 함께 사용하면 내림차순이나 사용자 정의 정렬도 가능합니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java 기초] Arrays.sort() vs Collections.sort() 차이 정리 (0) | 2025.08.27 |
---|---|
[Java StringBuffer] reverse() – 문자열 뒤집기 (1) | 2025.08.26 |
[Java String] String.indexOf() – 문자열에서 위치 찾기 (0) | 2025.08.26 |
[Java 기초] Arrays.fill()로 배열 값 초기화하기 (2) | 2025.08.25 |
[Java String] String.substring() – 문자열 자르기 (0) | 2025.08.25 |
Comments