List中的一些lomada表达式的用法
.sream.map().collect(Collectors.toList())
获取对象中的某个属性的集合:
List<BusinessProject> list=new ArrayList<>();
for (int i = 1; i <5 ; i++) {
BusinessProject businessProject =new BusinessProject();
businessProject.setId(i);
businessProject.setProjectName(String.valueOf(i)+"1");
list.add(businessProject);
}
List<String> collect = list.stream().map(BusinessProject::getProjectName).collect(Collectors.toList());
输出结果为:
根据对象获取别的对象的集合:
List<BusinessProject> list=new ArrayList<>();
for (int i = 1; i <5 ; i++) {
BusinessProject businessProject =new BusinessProject();
businessProject.setId(i);
businessProject.setProjectName(String.valueOf(i)+"1");
list.add(businessProject);
}
List<BusinessPoint> collect = list.stream().map(x -> {
BusinessPoint businessPoint=new BusinessPoint();
businessPoint.setProjectId(x.getId());
businessPoint.setPointName(x.getProjectName());
return businessPoint;
}
).collect(Collectors.toList());
输出结果为:
.stream.filter().collect(Collectors.toList())
该方法为过滤集合中的某一个属性值:
List<String> lines = Arrays.asList("spring", "node", "mkyong");
List<String> result1 = lines.stream()
.filter(line -> !"mkyong".equals(line))
//过滤掉line,line的条件为"mkyong"
.collect(Collectors.toList());
System.out.println(result1);
输出结果为: