用stream流list转map<string,list>
时间: 2023-04-04 13:01:08 浏览: 82
可以使用 Java 8 中的 Stream API 来实现。具体代码如下:
```
List<String> list = Arrays.asList("a", "b", "c");
Map<String, List<String>> map = list.stream().collect(Collectors.groupingBy(Function.identity()));
```
其中,`list` 是要转换的列表,`map` 是转换后的结果。`groupingBy` 方法将列表中的元素按照指定的规则进行分组,`Function.identity()` 表示按照元素本身进行分组。
相关问题
stream流List<Map<String, String>>转Map<String, String>
stream流可以将List<Map<String, String>>转换为Map<String, String>。可以使用Collectors.toMap()方法,该方法需要两个参数,第一个参数是key的提取函数,第二个参数是value的提取函数。具体实现可以参考以下代码:
Map<String, String> map = list.stream().collect(Collectors.toMap(map -> map.get("key"), map -> map.get("value")));
其中,list是一个List<Map<String, String>>类型的列表,map.get("key")和map.get("value")分别是提取key和value的函数。
stream流list转map<String,list>
可以使用Java 8的Stream流和Collectors工具类来实现将List转换为Map<String, List>。示例代码如下:
```java
List<String> list = Arrays.asList("apple", "banana", "grape", "orange", "apple");
Map<String, List<String>> map = list.stream().collect(Collectors.groupingBy(Function.identity()));
```
这里使用了Stream的groupingBy方法,其中Function.identity()表示对元素进行分组的依据,即使用元素本身作为分组的key。返回的结果是一个Map<String, List<String>>,其中Map的key为元素本身,value为元素在List中出现的所有位置。