반응형
[배열의 선언 및 초기화]
//배열의 선언과 크기 할당
int[] arr = new int[100];
//배열의 선언과 값 초기화
int[] arr = {10, 20, 30, 40, 50};
[java.util.Arrays]
- Java에서 배열의 값을 정렬하는 경우 java.util.Arrays 클래스를 활용한다.
import java.util.Arrays;
[↗배열 오름차순 정렬하기]
- Arrays.sort() 메소드를 활용하면 배열 값이 오름차순으로 정렬된다.
Arrays.sort(arr);
- 소스 코드
import java.util.Arrays;
import java.util.Collections;
public class SortExample {
public static void main(String[] args) {
int[] arr1 = {10, 30, 20, 50, 40};
String[] arr2 = {"가", "다", "나", "마", "라"};
System.out.println("정렬 전 결과");
for(int arr : arr1) {
System.out.print(arr + " ");
}
System.out.println("");
for(String arr : arr2) {
System.out.print(arr + " ");
}
System.out.println("\n=============");
//오름차순 정렬(ASC)
System.out.println("오름차순 정렬 결과");
Arrays.sort(arr1);
Arrays.sort(arr2);
for(int asc : arr1) {
System.out.print(asc + " ");
}
System.out.println("");
for(String asc : arr2) {
System.out.print(asc + " ");
}
}
}
- 실행 결과
[↘배열 내림차순 정렬하기]
- int 타입일 때는 integer 타입으로 변경 후, 정렬을 해야 한다.
Integer[] arr3 = Arrays.stream(arr).boxed().toArray(Integer[]::new);
- Collections.reverseOrder() 사용하여 내림차순 정렬하기
Arrays.sort(arr, Collections.reverseOrder());
- 소스 코드
import java.util.Arrays;
import java.util.Collections;
public class SortExample {
public static void main(String[] args) {
int[] arr1 = {10, 30, 20, 50, 40};
String[] arr2 = {"가", "다", "나", "마", "라"};
System.out.println("정렬 전 결과");
for(int arr : arr1) {
System.out.print(arr + " ");
}
System.out.println("");
for(String arr : arr2) {
System.out.print(arr + " ");
}
System.out.println("\n=============");
//내림차순 정렬(DESC)
System.out.println("내림차순 정렬 결과");
//int -> integer
Integer[] arr3 = Arrays.stream(arr1).boxed().toArray(Integer[]::new);
Arrays.sort(arr3, Collections.reverseOrder());
//String 타입
Arrays.sort(arr2, Collections.reverseOrder());
for(int desc : arr3) {
System.out.print(desc + " ");
}
System.out.println("");
for(String desc : arr2) {
System.out.print(desc + " ");
}
}
}
- 실행 결과
[배열의 일부만 정렬하기]
- Arrays.sort 메소드를 사용하여 정렬의 시작과 끝 인덱스를 설정해준다.
Arrays.sort(arr, 0, 3);
- 소스 코드
import java.util.Arrays;
import java.util.Collections;
public class SortExample {
public static void main(String[] args) {
int[] arr1 = {10, 30, 20, 50, 40};
String[] arr2 = {"가", "다", "나", "마", "라"};
System.out.println("정렬 전 결과");
for(int arr : arr1) {
System.out.print(arr + " ");
}
System.out.println("");
for(String arr : arr2) {
System.out.print(arr + " ");
}
System.out.println("\n=============");
//배열의 일부만 오름차순 정렬(ASC)
System.out.println("인덱스 0~3까지 오름차순 정렬 결과");
Arrays.sort(arr1, 0, 3);
Arrays.sort(arr2, 0, 3);
for(int asc : arr1) {
System.out.print(asc + " ");
}
System.out.println("");
for(String asc : arr2) {
System.out.print(asc + " ");
}
}
}
- 실행 결과
반응형
'Back end > Java' 카테고리의 다른 글
[Java] Stream의 filter() 메소드 (ft.collect()) (0) | 2024.02.29 |
---|---|
[Java] for-loop를 Stream forEach로 변경하기 (0) | 2024.02.28 |
[Java] Array(배열) 객체 복사하기 (0) | 2023.09.20 |
[Java] 배열을 문자열로 만드는 메서드 join (예제 포함) (0) | 2023.09.13 |
[Java] 문자열 반복 메서드 repeat (예제 포함) (0) | 2023.09.12 |