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
- DFS
- 코딩테스트실력진단
- 다시보기
- Java
- database
- 부분수열의합2
- 알고리즘
- 코테
- Union Find
- 완탐
- 그리디
- JPA
- BFS
- 백준
- DP
- SSAFY
- 기본유형
- Spring
- 자바
- 알고리즘기본개념
- 다익스트라
- 코딩테스트
- 코드트리
- 유니온파인드
- JUnit
- 싸피
- 완전탐색
- SWEA
- 트러블슈팅
- 그래프
Archives
- Today
- Total
HwangHub
[Java] int 배열 정렬 본문
Java에는 Arrays.sort(arr)를 이용하여 오름차순 정렬이 가능하다.
잘 사용하진 않겠지만 Arrays.sort(arr, 시작 idx, 끝 idx + 1)을 사용하여 특정 구간만 오름차순으로 정렬할 수도 있다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = new int[]{12, 41, 37, 81, 19, 25, 60, 20};
Arrays.sort(arr); // 전체 정렬
for(int i = 0; i < 8; i++)
System.out.print(arr[i] + " "); // 12, 19, 20, 25, 37, 41, 60, 81
Arrays.sort(arr, 2, 4); // 부분 정렬
for(int i = 0; i < 8; i++)
System.out.print(arr[i] + " "); // 12, 41, 37, 81, 19, 25, 60, 20
}
}
Java에서는 원시 타입인 int 배열을 한번에 내림차순으로 정렬할 수 있는 방법은 없으며, int의 wrapper class인 Integer[] arr배열은 Collections.reverseOrder()를 이용하여 Arrays.sort()를 하면 내림차순 정렬이 가능하다.
따라서 int 타입의 배열을 내림차순으로 정렬하고 싶다면, java8부터 추가된 stream을 사용하여 int 배열을 Integer배열로 바꿔준 뒤, Collections.reverseOrder()를 이용하여 내림차순으로 정렬해주면 된다.
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
int[] arr = new int[]{12, 41, 37, 81, 19, 25, 60, 20};
Integer[] arr2 = Arrays.stream(arr)
.boxed()
.toArray(Integer[]::new);
Arrays.sort(arr2, Collections.reverseOrder());
for(int i = 0; i < 8; i++)
System.out.print(arr2[i] + " "); // 81, 60, 41, 37, 25, 20, 19, 12
}
}
'DEV-STUDY > Java' 카테고리의 다른 글
[Java] Stream - map과 flatmap 비교 (0) | 2023.07.04 |
---|---|
[Java] Stream - 기본 & 중간 연산 메서드 (0) | 2023.07.04 |
[Java] scope rule (0) | 2023.07.03 |
[Java] Immutable한 문자열 (0) | 2023.07.02 |
[Java] call by value, call by reference (0) | 2023.07.02 |
Comments