美文网首页
Comparator

Comparator

作者: zjkdifvpwlkqumn | 来源:发表于2020-09-15 22:01 被阅读0次
    可以这么写,假设
    List<People> 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<People> 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<People> 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<list.size();i++){
                People people2 = list.get(i);
                System.out.println("age is" + people2.getAge() + "height is" + people2.getHeight());
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Comparator

          本文链接:https://www.haomeiwen.com/subject/hejqyktx.html