stream list 直接转 map
时间: 2023-05-04 17:06:07 浏览: 110
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
"Stream list 直接转 map"是指将一个Java8的Stream列表(Stream list)直接转换成一个Map。这个转换的过程需要借助Java8的Stream API和Collectors类的方法。
Stream是Java8中的一个新特性,可以以函数式编程的方式,对集合进行处理,比如筛选、排序、映射、合并等操作。而Map则是一种键值对的数据结构,存储着一组键值对的映射关系。将Stream列表转换成Map,可以将列表中的元素按照指定的规则映射为一个个键值对,再通过Collectors类的toMap方法将它们转换为一个Map对象。
具体来说,将Stream列表直接转换成Map的代码示例如下:
```
List<Person> personList = Arrays.asList(new Person("Tom", 20),
new Person("Jerry", 22),
new Person("Mickey", 24),
new Person("Donald", 26));
// 将List<Person>转换为Map<String, Integer>,其中键为Person对象的姓名,值为其年龄
Map<String, Integer> personMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
```
上面的示例代码中,我们定义了一个Person类,它有两个属性name和age,表示一个人的姓名和年龄。我们将这些Person对象放入一个List中,然后通过将Stream列表进行映射,将每个Person对象的姓名和年龄转化为一个个键值对,最终将它们转换为一个Map对象。在toMap方法中,Person::getName和Person::getAge表示获取Person对象的姓名和年龄,它们作为Map中的键和值。
总之,将Stream列表直接转换成Map,可以方便地将集合中的元素按照指定的规则转换为一个个键值对,并将它们转换为一个Map对象,方便后续的操作和处理。
阅读全文