java stream map
时间: 2023-10-13 07:28:55 浏览: 100
Java Stream 中的 map 操作是一种中间操作,用于将一个 Stream 中的元素映射为另一种类型。它接收一个 Function 接口类型的参数,该接口将一个元素映射为另一种类型并返回。
下面是一个示例,将一个字符串数组中的元素转换为对应的整数数组:
```java
String[] strings = {"1", "2", "3", "4", "5"};
int[] ints = Arrays.stream(strings)
.mapToInt(Integer::parseInt)
.toArray();
```
在这个示例中,我们首先使用 Arrays.stream() 方法将字符串数组转换为一个 Stream。然后使用 mapToInt() 方法将字符串元素转换为整数,并将其转换为一个 IntStream。最后,使用 toArray() 方法将 IntStream 转换为一个整数数组。
map 还可以用于将一个对象的属性映射为另一种类型,如下面的示例所示:
```java
List<Person> people = Arrays.asList(new Person("Alice", 25), new Person("Bob", 30));
List<Integer> ages = people.stream()
.map(Person::getAge)
.collect(Collectors.toList());
```
在这个示例中,我们首先使用 Arrays.asList() 方法创建一个包含两个 Person 对象的 List。然后使用 stream() 方法将其转换为一个 Stream。接着使用 map() 方法将每个 Person 对象的年龄属性转换为一个整数,并将其转换为一个 Stream。最后,使用 collect() 方法将 Stream 转换为一个 List。
阅读全文