list.stream().map()示例
时间: 2023-10-24 19:32:13 浏览: 86
当使用Java 8及以上版本时,可以使用Stream流的map方法来对集合中的元素进行转换操作。下面是一个示例:
假设有一个包含整数的列表,我们希望将每个整数乘以2并生成一个新的列表。可以使用Stream的map方法来实现这个需求,代码如下:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
System.out.println(doubledNumbers);
```
运行上述代码,会输出 `[2, 4, 6, 8, 10]`,其中每个元素都是原列表中对应元素乘以2得到的结果。
在上述代码中,首先通过`numbers.stream()`方法将列表转换为一个Stream流。然后使用`map`方法将流中的每个元素进行转换操作,这里使用Lambda表达式 `n -> n * 2` 将每个元素乘以2。最后使用`collect(Collectors.toList())`方法将转换后的结果收集到一个新的列表中。
这只是Stream流的map方法的一种用法,还有很多其他用法,可以根据具体需求来灵活运用。
相关问题
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
可以使用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。
阅读全文