Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 배열 정렬(Sorting) (오름차순, 내림차순) 본문
자바에서 배열을 정렬하는 것은 매우 일반적인 작업입니다. 배열을 오름차순으로 정렬하거나 내림차순으로 정렬하는 방법에 대해 알아보겠습니다. 각각의 방법에 대해 예제를 통해 자세히 살펴보겠습니다.
예제 1: Arrays.sort() 메서드를 이용한 오름차순 정렬
int[] arr = {3, 1, 5, 2, 4};
Arrays.sort(arr); // 오름차순 정렬
System.out.println(Arrays.toString(arr)); // 출력 결과: [1, 2, 3, 4, 5]
Arrays.sort() 메서드를 사용하여 배열을 오름차순으로 정렬할 수 있습니다. 이 메서드는 배열을 직접 변경하며 반환값은 void입니다.
예제 2: Comparator.reverseOrder()를 이용한 내림차순 정렬
Integer[] arr = {3, 1, 5, 2, 4};
Arrays.sort(arr, Comparator.reverseOrder()); // 내림차순 정렬
System.out.println(Arrays.toString(arr)); // 출력 결과: [5, 4, 3, 2, 1]
Comparator.reverseOrder()를 사용하여 배열을 내림차순으로 정렬할 수 있습니다. 이 메서드는 Comparator 인터페이스를 구현한 객체를 반환하며, Comparator.reverseOrder()는 내림차순으로 비교하는 Comparator를 생성합니다.
예제 3: Collections.sort() 메서드를 이용한 내림차순 정렬
List<Integer> list = new ArrayList<>(Arrays.asList(3, 1, 5, 2, 4));
Collections.sort(list, Comparator.reverseOrder()); // 내림차순 정렬
System.out.println(list); // 출력 결과: [5, 4, 3, 2, 1]
Collections.sort() 메서드를 사용하여 List를 정렬할 수도 있습니다. 이때 Comparator.reverseOrder()를 사용하여 내림차순으로 정렬합니다.
예제 4: 배열을 Stream을 이용하여 내림차순 정렬
Integer[] arr = {3, 1, 5, 2, 4};
Arrays.stream(arr)
.sorted(Comparator.reverseOrder())
.forEach(System.out::println); // 출력 결과: 5 4 3 2 1
Stream API를 사용하여 배열을 내림차순으로 정렬할 수도 있습니다. sorted() 메서드에 Comparator.reverseOrder()를 전달하여 내림차순으로 정렬합니다.
예제 5: Comparator를 이용하여 사용자 정의 객체 배열 정렬
class Student {
String name;
int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
}
Student[] students = {
new Student("Alice", 90),
new Student("Bob", 85),
new Student("Charlie", 95)
};
Arrays.sort(students, Comparator.comparingInt((Student s) -> s.score).reversed());
for (Student student : students) {
System.out.println(student.name + ": " + student.score);
}
Comparator를 사용하여 사용자 정의 객체를 정렬할 수 있습니다. 이 예제에서는 학생 객체를 점수(score)에 따라 내림차순으로 정렬합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] StringBuilder 사용 방법, 예제 (0) | 2024.03.06 |
---|---|
[Java/자바] 문자열(String)을 비교하는 방법 (==, equals, compare) (0) | 2024.03.06 |
[Java/자바] ArrayList 초기화 방법 (0) | 2024.03.06 |
[Java/자바] replace()와 replaceAll() 메서드의 차이점 (0) | 2024.03.06 |
[Java/자바] 문자열 다루기: trim과 replace로 공백 제거하기 (0) | 2024.03.06 |