java8 stream流對數據的操作

一、先初始化數據

public static List<User> getData(){
        List<User> users = new ArrayList<>(16);
        User user1 = new User("1", "lk1", "123456");
        User user2 = new User("2", "lk2", "123456");
        User user3 = new User("3", "lk2", "123456");
        User user4 = new User("4", "lk4", "123456");
        User user5 = new User("5", "lk5", "123456");
        User user6 = new User("6", "lk6", "123456");
        User user7 = new User("7", "lk2", "123456");
        User user8 = new User("7", "lk2", "123456");
        users.add(user1);users.add(user2);users.add(user3);users.add(user4);
        users.add(user5);users.add(user6);users.add(user7);users.add(user8);
        return users;
    }

二、對list數據進行分組

//1.對list數據進行分組,使用stream流進行操作
    public static void getGroupBy(){
        List<User> data = getData();
        //對用戶名進行分組
        Map<String, List<User>> collect = data.stream().collect(Collectors.groupingBy(User::getUsername));
        System.out.println(collect);
    }

二、對list數據進行去重

//2.對list數據進行去重
    public static  void getByDistinct(){
        List<User> data = getData();
        List<User> collect = data.stream().distinct().collect(Collectors.toList());
        System.out.println(collect.size());
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章