자바 8 Stream 흐름 대상 정렬(한 대상 의 여러 속성 정렬)

1467 단어 자바
1.한 대상 의 여러 필드 를 정렬 해 야 합 니 다.
     ,  
List list = new ArrayList<>();
        ,            
@Data
public class People {
    private int age;
    private int height;
}

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collector;
import java.util.stream.Collectors;

/**
 * Created by FangPing on 2020-04-01
 */
public class Test {
    public static void main(String[] args) {
        List list = new ArrayList<>();
        People people = new People();
        people.setAge(1);
        people.setHeight(2);
        list.add(people);
        People people1 = new People();
        people1.setAge(2);
        people1.setHeight(1);
        list.add(people1);
        Comparator comparator = (o1, o2) -> {
            int ageA = o1.getAge();
            int ageB = o2.getAge();
            if (ageA != ageB) {
                return ageA - ageB;
            }

            int heightA = o1.getHeight();
            int heightB = o2.getHeight();
            if (heightA != heightB) {
                return heightA - heightB;
            }
            return 0;
        };
        //      
        list = list.stream().sorted(comparator).collect(Collectors.toList());
        for (int i=0;i

 

좋은 웹페이지 즐겨찾기