찾다

 >  Q&A  >  본문

람다 - java8 객체는 객체의 특정 필드 순서대로 정렬됩니다.

예를 들어 User라는 클래스를 갖고 싶어요
그 안에 있는 속성은 이렇습니다. private int age,private String name
여러 객체가 있습니다

으아악

이제 나이순으로 정렬하고 싶습니다. 즉, lisr의 최종 표시 결과는 user1 user3 user2입니다.
java8의 람다 표현식을 사용하여 어떻게 작성하나요?

사용자와 유사한 클래스인데 내부의 카운트 값을 비교하면 기능을 구현할 수 있는데 괄호 안의 코드는 왜 회색인가요?
마우스를 위로 움직여보세요. 신고 Can be replaced with Comparator.comparingInt more... (Ctrl+F1)

欧阳克欧阳克2713일 전1048

모든 응답(3)나는 대답할 것이다

  • 三叔

    三叔2017-06-23 09:15:33

    위층은 친근하지 않습니다. 다음 방법은 예전의 명령형이 아닌 선언적입니다

    으아악

    이렇게 읽기가 더 쉽지 않나요? Userage属性进行个排序,属性是int就按照int排序,其实Comparator.comparing(User::getAge)를 기준으로 비교기를 만들었습니다. 기본은 오름차순입니다. 내림차순을 원하시면... 역순으로 하시면 됩니다. 으아악

    아주 편해요...ㅋㅋㅋ

    회신하다
    0
  • ringa_lee

    ringa_lee2017-06-23 09:15:33

    Arrays.sort(list, (user1 , user2) -> Integer.compare(v1.age, v2.age));

    회신하다
    0
  • typecho

    typecho2017-06-23 09:15:33

    내 생각에는 Comparable 인터페이스를 구현한 다음 직접 sort를 호출해야 한다고 생각합니다

    회신하다
    0
  • 취소회신하다