stream list转map
时间: 2023-03-31 17:04:44 浏览: 78
可以使用Java 8的Stream API中的collect方法将一个Stream<List>转换为Map。具体实现可以使用Collectors.toMap方法,其中第一个参数为List中的key,第二个参数为List中的value。例如:
List<List<String>> list = new ArrayList<>();
list.add(Arrays.asList("key1", "value1"));
list.add(Arrays.asList("key2", "value2"));
Map<String, String> map = list.stream()
.collect(Collectors.toMap(l -> l.get(), l -> l.get(1)));
这样就可以将List中的数据转换为Map了。
相关问题
streamlist转map
可以使用Java 8中的Stream API来将一个Stream转换为Map。具体实现可以使用Collectors.toMap()方法,该方法接受两个Function参数,第一个Function用于指定Map中的key,第二个Function用于指定Map中的value。下面是一个示例代码:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
Map<String, Integer> map = list.stream().collect(Collectors.toMap(Function.identity(), String::length));
```
这个示例代码将一个字符串列表转换为一个Map,其中Map的key为字符串本身,value为字符串的长度。
stream list 转map
你可以使用 Java 8 Stream API中的`Collectors.toMap()`方法将一个Stream列表转换为一个Map。这个方法接受两个lambda表达式作为参数,分别用于指定Map的键和值。
以下是一个示例代码:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class StreamToList {
public static void main(String[] args) {
List<String> list = List.of("key1", "value1", "key2", "value2", "key3", "value3");
Map<String, String> map = list.stream()
.collect(Collectors.toMap(
key -> key,
value -> value
));
System.out.println(map);
}
}
```
在上面的例子中,我们将一个包含键值对的字符串列表转换为一个Map。`toMap()`方法的第一个参数指定了键的提取逻辑,第二个参数指定了值的提取逻辑。最终,我们得到了一个包含相应键值对的Map。
输出结果为:
```
{key1=value1, key2=value2, key3=value3}
```
这就是将Stream列表转换为Map的基本方法。你可以根据实际需求修改提取逻辑来适应不同的数据类型和结构。