ArrayList<Long>
Java에서 내림차순 으로 정렬하는 방법은 무엇입니까?
답변
다음은 한 가지 방법입니다 list
.
list.sort(null);
Collections.reverse(list);
또는 직접 구현하여 Comparator
반대 단계를 정렬하고 제거 할 수 있습니다 .
list.sort((o1, o2) -> o2.compareTo(o1));
또는 Collections.reverseOrder()
후진 중이므로 더 간단하게 사용하십시오 .
list.sort(Collections.reverseOrder());
답변
Comparator<Long> comparator = Collections.reverseOrder();
Collections.sort(arrayList, comparator);
답변
아래에 주어진 다음 코드를 사용할 수 있습니다.
Collections.sort(list, Collections.reverseOrder());
또는 사용자 정의 비교기를 사용하려는 경우 아래와 같이 사용할 수 있습니다.
Collections.sort(list, Collections.reverseOrder(new CustomComparator());
CustomComparator는 목록에있는 개체를 비교하는 비교기 클래스입니다.
답변
자바 8
Java 8에서 잘하는 것은 훨씬 재미 있고 쉽습니다.
Collections.sort(variants,(a,b)->a.compareTo(b));
Collections.reverse(variants);
람다 표현이 여기에 락!
a 와 b 를 비교 하기 위해 둘 이상의 라인 로직이 필요한 경우 다음 과 같이 작성할 수 있습니다.
Collections.sort(variants,(a,b)->{
int result = a.compareTo(b);
return result;
});
답변
정상적으로 정렬하고 사용 Collections.reverse();
답변
긴 값이 객체 어딘가에있는 람다의 경우 다음을 사용하는 것이 좋습니다.
.sorted((o1, o2) -> Long.compare(o1.getLong(), o2.getLong()))
또는 더 나은 :
.sorted(Comparator.comparingLong(MyObject::getLong))
답변
정렬 한 다음 뒤집습니다.