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]