1.取其中一个元素组成一个新的List集合或者Set集合
List<String> nameList= students.stream().map(Student::getName).collect(Collectors.toList()); Set<String> nameSet = students.stream().map(Student::getName).collect(Collectors.toSet());
2.取两个元素组成Map<String,String>类型,一个元素作为key,另一个元素作为value
Map<String, String> collect = students.stream().collect(Collectors.toMap(Student::getName, Student::getSubject));
注意:如果遇到key相同,则会报错!!!以下操作将最新的数据覆盖之前的数据
如下图:
Map<String, String> map = students.stream() .collect(Collectors.toMap(Student::getName, Student::getSubject,(value1, value2 )->value2));
3.取其中两个元素拼接为一个key,再取一个元素作为value
Map<String, String> map2 = students.stream(). collect(Collectors.toMap(Student -> Student.getName()+"+"+Student.getSubject(), Student::getName));
注意:如果遇到key相同,则会报错!!!以下操作将最新的数据覆盖之前的数据
Map<String, String> map2 = students.stream(). collect(Collectors.toMap (Student -> Student.getName()+"+"+Student.getSubject(), Student::getName,(value1, value2 )->value2));
4.取其中两个元素拼接为一个key,对象作为value
Map<String, Student> map2 = students.stream(). collect(Collectors.toMap(Student -> Student.getName()+"+"+Student.getSubject(), Student -> Student));
注意:如果遇到key相同,则会报错!!!以下操作将最新的数据覆盖之前的数据
Map<String, Student> map2 = students.stream(). collect(Collectors.toMap (Student -> Student.getName()+"+"+Student.getSubject(), Student -> Student,(value1, value2 )->value2));
5.List集合转成Set集合
List<String> nameList= students.stream().map(Student::getName).collect(Collectors.toList());
HashSet<String> nameSet=new HashSet<>(nameList);