[Java] int[], ArrayList 정렬하기

Jin·2023년 9월 1일
0

자바

목록 보기
1/1
post-thumbnail

개인적으로 알고리즘 문제를 풀 때 자주 사용하는 int 배열과 ArrayList를 오름차순, 내림차순 방식으로 정렬하는 방법에 대해 정리하려고 한다.

1. int[] 정렬

오름차순 정렬

기본 정렬

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);

내림차순 정렬

기본 정렬

intInteger로 변경해야 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);

2. ArrayList 정렬

오름차순 정렬

기본 정렬

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

profile
블로그 이사했습니다! 💨💨 https://guswls28.tistory.com

0개의 댓글