当前位置:主页 > 查看内容

Java8 Stream

发布时间:2021-07-10 00:00| 位朋友查看

简介:Stream的定义 定义和基本概念 学了知识不运用等于耕地不播种话不多说我们开始操作 foreach foreach直接遍历list ?foreach遍历且去重 ?foreach遍历集合中元素的某一属性配合map foreach遍历集合排除集合中的某一元素配合filter foreach遍历集合元素中某一元素……

Stream的定义定义和基本概念

学了知识不运用,等于耕地不播种,话不多说,我们开始操作

foreach

foreach直接遍历list

?foreach遍历且去重

?foreach遍历集合中元素的某一属性(配合map)

foreach遍历集合(排除集合中的某一元素)(配合filter)

foreach遍历集合元素中某一元素,组合成新的集合

Map

filter



基础代码模型

public class TestList {
    public static void main(String[] args) {
        ArrayList<User> list = new ArrayList<>();
        list.add(new User(1,"zhangsan1"));
        list.add(new User(2,"zhangsan2"));
        list.add(new User(3,"zhangsan3"));
        list.add(new User(4,"zhangsan4"));
    }
}
//实体类
public class User {
    private int id;
    private String username;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public User(int id, String username) {
        this.id = id;
        this.username = username;
    }
    public User(){}

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                '}';
    }
}

foreach

foreach直接遍历list

list.stream().forEach(System.out::println);//先创建流,再遍历打印

输出结果

User{id=1, username='zhangsan1'}
User{id=2, username='zhangsan2'}
User{id=3, username='zhangsan3'}
User{id=4, username='zhangsan4'}

?foreach遍历且去重

List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
numbers.stream().distinct().forEach(System.out::println);

输出结果

3
2
7
5

?foreach遍历集合中元素的某一属性(配合map)

 list.stream().map(User::getUsername).forEach(System.out::println);

输出结果

zhangsan1
zhangsan2
zhangsan3
zhangsan4

foreach遍历集合(排除集合中的某一元素)(配合filter)

list.stream().filter(User->User.getUsername()!="zhangsan1").forEach(System.out::println);

输出结果

User{id=2, username='zhangsan2'}
User{id=3, username='zhangsan3'}
User{id=4, username='zhangsan4'}

foreach遍历集合元素中某一元素,组合成新的集合

  list.stream().map(User::getUsername).collect(Collectors.toList()).forEach(System.out::println);

输出结果

zhangsan1
zhangsan1
zhangsan2
zhangsan3
zhangsan4

Map

map 方法用于映射每个元素到对应的结果

list.stream().map(user->user.getId()+1);//把list中的每一个元素对应到user或User或任意的变量
list.stream().map(User->User.getId()+1);

输出结果

?

2
3
4
5

filter

filter 方法用于通过设置的条件过滤出元素

List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());//过滤出元素不为空的

输出结果

[abc, bc, efg, abcd, jkl]

?

;原文链接:https://blog.csdn.net/loveking6/article/details/115702080
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:Set和Map 下一篇:没有了

推荐图文


随机推荐