Bootstrap

Stream API filter过滤和sorted排序

01.filter

List<String> list = Arrays.asList("1","2","3","4","0","222","33");
// 只要x=3
        Stream<String> stream = list.stream().filter((x) -> {
            return x.equals("3");
        });
        //终止操作:只有执行终止操作才会执行全部。即:延迟加载
        stream.forEach(System.out::println);  //  3

02.sorted

sorted有两种方法,一种是不传任何参数,叫自然排序,还有一种需要传Comparator 接口参数,叫做定制排序

   List<String> collect = list.stream().sorted().collect(Collectors.toList());

        List<String> collect2 = list.stream().sorted((o1, o2) -> {
            if(o1.length()>o2.length()){
                return 1;
            }else
            if(o1.length()<o2.length()){
                return -1;
            }else {
                return 0;

            }
        }).collect(Collectors.toList());
;