Java新特性玩转JDK8之流操作limit和sorted函数

DBC 1.9K 0
sorted函数

sorted() 对流进⾏⾃然排序, 其中的元素必须实现Comparable 接⼝

小例子
    public static void main(String[] args) {
        List<User> list = new ArrayList<>();
        list.add(new User(1, "猪头", 23));
        list.add(new User(1, "猪头", 132));
        list.add(new User(1, "猪头", 243));
        list.add(new User(1, "猪头", 13));
        list.add(new User(1, "猪头", 223));
        list.add(new User(1, "猪头", 73));
        list.add(new User(1, "猪头", 63));

        //升序
        List<User> resultList1 = list.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
        //降序
        List<User> resultList2 = list.stream().sorted(Comparator.comparing(User::getAge,Comparator.reverseOrder())).collect(Collectors.toList());

        //limit截取
        List<User> resultList3 = list.stream().sorted(Comparator.comparing(User::getAge).reversed()).limit(3).collect(Collectors.toList());

        System.out.println("升序");
        for (User user:resultList1){
            System.out.println(user.toString());
        }
        System.out.println("降序");
        for (User user:resultList2){
            System.out.println(user.toString());
        }
        System.out.println("截断流");
        for (User user:resultList3){
            System.out.println(user.toString());
        }

    }
limit函数

截断流使其最多只包含指定数量的元素

小例子

        //limit截取
        List<User> resultList3 = list.stream().sorted(Comparator.comparing(User::getAge).reversed()).limit(3).collect(Collectors.toList());

完整输出

Java新特性玩转JDK8之流操作limit和sorted函数插图

发表评论 取消回复
表情 图片 链接 代码

分享