Bootstrap

java中stream流的常见使用,排序,过滤,筛选

java中stream流的使用

1.使用流进行排序

如果是只有基本类型的集合
拿到的是最小值

List<Integer> list=new ArrayList<>();
        list.add(10);
        list.add(34);
        list.add(69);
        list.add(8);
        list=list.stream().sorted(Comparator.comparing(Integer::longValue).reversed())
                .collect(Collectors.toList());
        System.out.println(list.get(0));

如果是对象类型的集合,对里面对象的某个属性排序,加reversed,拿到的是最大值

List<Person> list=new ArrayList<>();
list=list.stream().sorted(Comparator.comparing(Person::getAge).reversed()).collect(Collectors.toList());

//第二种
Integer max= overDulistPOS.stream().map(Person::getAge).max(Comparator.comparing(Integer::intValue)).orElse(0);

2.过滤,筛选

拿到属性不为空的对象

过滤
List<Person> list=new ArrayList<>();
        Llist = list.stream().filter((item -> {
            return StringKit.isBlank(item.getName());
        })).collect(Collectors.toList());  
;