알고리즘
알고리즘)[JAVA] 정렬 Array.sort()
Henry95
2020. 2. 12. 22:33
반응형
자바에서 배열을 정렬할때의 로직을 직접 만들어서 모듈화 하기도 하지만 임시로 사용할때 쓰는함수가 Array.sort()이다.
사용하는 방법은 아래와 같다.
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortExample {
public static void main(String[] args) {
Integer[] arr1 = new Integer[] { 8,10,1111,85242 };
Arrays.sort(arr1);
for(int a : arr1){
System.out.println(a);
}
}
}
위와같이 사용하면 나오는 결과물은 아래와 같다 8부터 시작해서 오름차순으로 정렬한 것이다.
반대로 내림차순으로 정렬을 하고싶으면 어떻게할까
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortExample {
public static void main(String[] args) {
Integer[] arr1 = new Integer[] { 8,10,1111,85242 };
Arrays.sort(arr1, new ComparatorMyIntSort());
for(int a : arr1){
System.out.println(a);
}
}
}
class ComparatorMyIntSort implements Comparator{
@Override
public int compare(Integer arg0, Integer arg1) {
if(arg0 > arg1){
return -1;
} else if (arg0 == arg1){
return 0;
} else {
return 1;
}
}
}
Comparator를 상속받아서 반대로 정렬해주는 클래스를 하나 만들어주고, Array.sort에 입력값을 추가해준다.
그렇게하면 위와같이 내림차순으로 정렬되어 출력된다.
반응형