摘要:
1,List<EntityOld>转换为List<EntityNew>
List<EntityOld> list = oldList; List<EntityNew> newList = list.stream().map(EntityNew::new).collect(Collectors.toList());
2,从一个实体类List中取出某个字段组成新的list
List<EntityOld> list = oldList; List<String> idList = list.stream().map(EntityOld::getOldId).collect(Collectors.toList());
3,求list集合中某个字段的和
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics(); System.out.println("所有数之和 : " + stats.getSum()); System.out.println("列表中最大的数 : " + stats.getMax()); System.out.println("列表中最小的数 : " + stats.getMin()); System.out.println("平均数 : " + stats.getAverage());
List<Student> list = new ArrayList<>(); //Student1: name:张三;age:18 //Student2: name:张三;age:20 Integer result = list.stream().collect(Collectors.summingInt(Student::getAge)); System.out.println("所有学生年龄之和 : " + reuslt);
补充:
1,List<EntityOld>转换为List<EntityNew>
注意:实体类EntityNew中需要有一个EntityOld的转换方法
EntityNew.java
public class EntityNew { private String newId; private String avatar; //转换方法* public EntityNew (EntityOld item) { this.newId = item.getOldId() == null ? "" : item.getOldId(); } public String getNewId() { return newId; } public void setNewId(String newId) { this.newId = newId; } public String getAvatar() { return avatar; } public void setAvatar(String avatar) { this.avatar = avatar; } }
EntityOld.java
public class EntityOld { private String oldId; private String oldName; public String getOldId() { return oldId; } public void setOldId(String oldId) { this.oldId = oldId; } public String getOldName() { return oldName; } public void setOldName(String oldName) { this.oldName = oldName; } }