개인적으로 알고리즘 문제를 풀 때 자주 사용하는 int 배열과 ArrayList를 오름차순, 내림차순 방식으로 정렬하는 방법에 대해 정리하려고 한다.
int[] arr = {1, 26, 17, 25, 99, 44, 303};
Arrays.sort(arr);
int
를 Wrapper 클래스 중 하나인 Integer
로 변경해야 Comparator
를 사용할 수 있다.
Integer[] arr = {1, 26, 19, 54, 43, 67};
// 방법 1
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i1 - i2;
}
});
// 방법 2
Arrays.sort(arr, (i1, i2) -> i1 - i2);
int
를 Integer
로 변경해야 Collections
를 사용할 수 있다.
Integer[] arr = {1, 26, 19, 54, 43, 67};
Arrays.sort(arr, Collections.reverseOrder());
Integer[] arr = {1, 26, 19, 54, 43, 67};
// 방법 1
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i2 - i1;
}
});
// 방법 2
Arrays.sort(arr, (i1, i2) -> i2 - i1);
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 3, 5, 2, 4));
// 방법 1
Collections.sort(list);
// 방법 2
list.sort(Comparator.naturalOrder());
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 3, 5, 2, 4));
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i1 - i2;
}
});
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 3, 5, 2, 4));
// 방법 1
Collections.sort(list, Collections.reverseOrder());
// 방법 2
list.sort(Comparator.reverseOrder());
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 3, 5, 2, 4));
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i2 - i1;
}
});
참고 페이지
https://codechacha.com/ko/java-sorting-array/
https://hianna.tistory.com/569