Algorithm
[JAVA] sort 할 때 정렬 기준 만드는 법(feat. Comparator)
랩실외톨이
2023. 9. 2. 03:16
반응형
Java에서는 정렬기능인 sort함수를 제공한다.
배열이라면 Arrays.sort(), 컬렉션이라면 Collections.sort()를 사용해 안의 내용물을 정렬한다.
기본적으로는 그 값을 오름차순, 내림차순으로 정렬해서 사용하곤 하지만 만약 2차원 배열이라면? 그 안의 값을 단순 오름차순, 내림차순 이외에도 다른 방법으로 정렬하고 싶다면?
바로 Comparator를 사용하면 된다.
반응형
나의 문제 상황은 이런 것이었다.
2차원 리스트가 있었고 그 리스트를 정렬하고 싶었다.
근데 그 리스트를 각각 정렬하고 싶었던 게 아니라 각각 1차원 리스트의 크기순으로 다시 2차원 리스트를 정렬하고 싶었다.
그래서 이렇게 사용했다.
Collections.sort(list, new Comparator<List<Integer>>() {
@Override
public int compare(List<Integer> l1, List<Integer> l2) {
return Integer.compare(l1.size(), l2.size());
}
});
당연히 활용방법은 무궁무진하다. (구현하기 나름)
나 같은 경우 List로 2차원 배열을 구현했고, Comparator로 조건에 맞게 정렬을 할 수 있었다!
반응형