Written by
Sunwoo Han
on
on
Arrays.sort()
Java 배열 정렬 (내림차순 / 오름차순)
Arrays.sort()
자바에서 배열이나 리스트를 정렬하고자 할 때 java.util.Arrays
클래스의 sort()
메서드를 사용하여 간편하게 정렬할 수 있다. Arrays
클래스는 배열의 복사, 항목 정렬, 검색과 같은 배열 조작 기능을 가지고 있다.
Syntax
- public static void sort ( primitive type array a )
- 인자 값으로 primitive data type인 byte[], char[], double[], long[], int[], float[] 등을 이용한다.
- public static void sort ( primitive type array a, int fromIndex, int toIndex)
- 인자 값으로 primitive data type인 byte[], char[], double[], long[], int[], float[] 등을 이용하며, 정렬 시작 index 값 및 종료 index 값을 지정한다.
- public static void sort ( Object[] a )
- 인자 값으로 Object(객체)를 받습니다. Integer[], Double[], Character[] 등의 값을 받을 수 있다.
- public static void sort ( Object[] a, int fromIndex, int toIndex)
- 인자 값으로 Object(객체)를 받습니다. Integer[], Double[], Character[] 등의 값을 받을 수 있으며, 정렬 시작 index 값 및 종료 index 값을 지정한다.
- public static
void sort ( T[] a, Comparator<? super T> c )</b> - 인자 값으로 객체를 받으며, 지정된 Comparator가 가리키는 순서에 따라 지정된 객체의 배열을 정렬한다.
- public static
void sort ( T[] a, int fromIndex, int toIndex, Comparator<? super T> c )</b> - 인자 값으로 객체를 받으며, 지정된 Comparator가 가리키는 순서에 따라 지정된 객체의 배열을 정렬하며, 정렬 시작 index 값 및 종료 index 값을 지정한다.
예시
오름차순
Arrays.sort()
메서드의 매개 값으로 기본타입 배열이나 String 배열을 지정해주면 자동으로 오름차순 정렬이 된다.
기본타입 배열 오름차순 정렬
코드
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int arr[] = {4, 33, 24, 15, 17, 21};
Arrays.sort(arr);
for(int i : arr) {
System.out.print("[" + i + "]");
}
}
}
출력
[4][15][17][21][24][33]
String 배열 오름차순 정렬
코드
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
String arr[] = {"apple", "melon", "peach", "banana", "orange"};
Arrays.sort(arr);
for(String i : arr) {
System.out.print("[" + i + "]");
}
}
}
출력
[apple][banana][melon][orange][peach]
내림차순
내림차순으로 정렬할 때는 Collections
클래스의 reverseOrder()
함수를 사용하면 된다. 만약 기본타입 배열을 내림차순으로 정렬하고 싶다면 기본타입 배열을 래퍼 클래스로 만들어 Comparator
를 두번째 인자에 넣어주어야 역순으로 정렬할 수 있다.
! String은 기본 타입이 아님
기본타입 배열 내림차순 정렬
코드
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int arr[] = {4, 33, 24, 15, 17, 21};
Arrays.sort(arr, Collections.reverseOrder());
for(int i : arr) {
System.out.print("[" + i + "]");
}
}
}
출력
[33][24][21][17][15][4]
String 배열 내림차순 정렬
코드
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
String arr[] = {"apple", "melon", "peach", "banana", "orange"};
Arrays.sort(arr);
for(String i : arr) {
System.out.print("[" + i + "]");
}
}
}
출력
[peach][orange][melon][banana][apple]
부분정렬
Arrays.sort()
메서드의 매개값으로 배열, 시작 index, 끝 index를 넣어 일부분만 정렬할 수 있다.
코드
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int arr[] = {1, 24, 32, 9, 16, 17, 22, 7};
Arrays.sort(arr, 0, 4);
for(int i : arr) {
System.out.print("[" + i + "]");
}
}
}
출력
[1][9][16][24][32][17][22][7]
Reference
Comments
JAVA 의 다른 글
-
서블릿 컨테이너(Servlet Container)란? 05 May 2021
-
지네릭스, 열거형, 애너테이션 27 Oct 2020
-
컬렉션 프레임웍 2편 16 Oct 2020
-
컬렉션 프레임웍 1편 14 Oct 2020
-
날짜와 시간 & 형식화 12 Oct 2020
-
java.lang패키지와 유용한 클래스 29 Sep 2020
-
예외처리 24 Sep 2020
-
객체지향 프로그래밍 II 2편 21 Sep 2020
-
객체지향 프로그래밍 II 1편 19 Sep 2020
-
객체지향 프로그래밍 I 2편 18 Sep 2020
-
객체지향 프로그래밍 I 1편 16 Sep 2020
-
배열 array 14 Sep 2020
-
조건문과 반복문 if, switch, for, while statement 13 Sep 2020
-
연산자 Operator 2편 13 Sep 2020
-
연산자 Operator 1편 11 Sep 2020
-
변수 Variable 2편 09 Sep 2020
-
변수 Variable 1편 08 Sep 2020
-
자바를 시작하기 전에 07 Sep 2020
-
래퍼 클래스(Wrapper Class)란 무엇인가 30 Aug 2020
-
java.lang.Math 29 Aug 2020
-
진수 변환, 형 변환 29 Aug 2020
-
Arrays.sort() 29 Aug 2020
-
Enhanced for loop 20 Aug 2020
-
toCharArray() 20 Aug 2020