list.stream() 转map
时间: 2023-11-10 21:04:29 浏览: 70
可以使用Collectors.toMap()方法将Stream转换为Map。示例代码如下:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
Map<String, Integer> map = list.stream().collect(Collectors.toMap(Function.identity(), String::length));
```
上述代码将List中的每个元素作为Map的key,将元素的长度作为value。
相关问题
list.stream转map
list.stream转map是一种常见的操作,可以将一个List集合中的元素转换为Map类型。在Java 8及以上版本中,可以使用Stream API来实现这个功能。
下面是一个示例代码,展示了如何将一个List中的元素转换为Map:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ListToMapExample {
public static void main(String[] args) {
List<Person> personList = List.of(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 35)
);
// 将List<Person>转换为Map<String, Integer>,其中姓名作为键,年龄作为值
Map<String, Integer> personMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
System.out.println(personMap);
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
```
输出结果为:
```
{Alice=25, Bob=30, Charlie=35}
```
在上述示例中,我们通过`personList.stream()`将List转换为Stream对象,然后使用`Collectors.toMap()`方法将每个Person对象的姓名作为键,年龄作为值,最终得到一个Map对象。
如何理解list.stream.map()
在Java中,List是一种常用的集合类型,而Stream是Java 8引入的一种新的数据处理方式。List的stream()方法可以将List转换为一个Stream对象,而map()方法则是Stream对象的一个中间操作,用于对Stream中的每个元素进行映射操作。
具体来说,map()方法接受一个函数作为参数,该函数会被应用到Stream中的每个元素上,并将其映射为一个新的元素。这个新的元素会被放入一个新的Stream对象中返回。因此,map()方法可以用来对List中的每个元素进行某种操作或转换。
例如,假设有一个List<Integer> numbers,我们想将其中的每个元素都乘以2,可以使用map()方法来实现:
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
上述代码中,numbers.stream()将List转换为一个Stream对象,然后使用map()方法对每个元素进行乘以2的操作,最后使用collect(Collectors.toList())将Stream转换为一个新的List对象。
阅读全文