Java 8新特性:list.stream().map().collect()

Stream
Stream(流)是一个来自数据源的元素队列并支持聚合操作;
map
map 方法用于映射每个元素到对应的结果;
Collectors
Collectors 类实现了很多归约操作,例如将流转换成集合和聚合元素。Collectors 可用于返回列表或字符串。

 

使用方式:

1.首先创建一个实体类,添加部分属性;

public class Student {
    public Student(String name,Integer age){
        this.name=name;
        this.age=age;
    }private String name;
    private Integer age;public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "name="+getName()+", age="+getAge();
    }
}

 

2. 新建实体集合并添加几条数据;

 List<Student> list = new ArrayList<>();
 list.add(new Student("ymw", 30));
 list.add(new Student("yh", 30));

返回结果:[name=ymw, age=30, name=yh, age=30]

 

3. 清空某个属性的值并返回结果:

 list.stream().map(it ->
        {
            it.setName("");
            return it;
        }).collect(Collectors.toList());

System.out.println(list.toString());

返回结果:[name=, age=30, name=, age=30]

 

4. 获取其中某个属性的集合:

List collection = list.stream().map(Student::getAge).collect(Collectors.toList());
System.out.println(collection.toString());

返回结果:[30, 30]

 

posted @ 2021-04-21 16:50  _YMW  阅读(8596)  评论(0编辑  收藏  举报