list stream() tomap
时间: 2024-06-20 08:03:39 浏览: 75
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
List的stream()方法可以将List集合转换为Stream对象,通过Stream对象,可以进行各种常见的操作,如过滤、映射、排序等等。而对于Stream对象,我们可以通过collect()方法将其转换为Map对象。具体实现方式是使用Collectors.toMap()方法,该方法接受两个函数作为参数,第一个函数用于指定Map的Key,第二个函数用于指定Map的Value,最终返回一个Map对象。
例如,我们有一个List<Student>,其中Student类包含id和name两个属性,我们可以通过以下代码将其转换为Map对象:
```
List<Student> studentList = new ArrayList<>();
Map<Integer, String> studentMap = studentList.stream()
.collect(Collectors.toMap(Student::getId, Student::getName));
```
上述代码中,Student::getId和Student::getName是两个方法引用,分别表示获取Student对象的id和name属性。这样就可以将List<Student>转换为Map<Integer, String>对象,其中id作为Key,name作为Value。
阅读全文