stream中用list转map
时间: 2023-11-10 19:03:49 浏览: 82
可以使用Java 8中的Stream API中的Collectors.toMap()方法将一个List转换为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,将每个元素的长度作为Map的value。
相关问题
list转map(string,object)
可以使用Java Stream API来将List转换为Map<String,Object>,代码如下:
```java
List<MyObject> list = new ArrayList<>();
Map<String, Object> map = list.stream().collect(Collectors.toMap(MyObject::getKey, MyObject::getValue));
```
其中,MyObject为List中元素的类型,getKey()和getValue()是获取MyObject中用作key和value的方法。可以按实际情况进行修改。
Java中用stream()对列表分组
可以使用Java 8中引入的Collectors.groupingBy()方法对列表进行分组。具体实现方法如下:
```
List<String> myList = Arrays.asList("Hello", "World", "Hi", "There");
Map<Integer, List<String>> groups = myList.stream()
.collect(Collectors.groupingBy(String::length));
System.out.println(groups);
```
上述代码将列表按照字符串长度进行分组,并将分组结果存储在一个Map中。例如,字符串长度为5的"Hello"和"World"会被分为一组,字符串长度为2的"Hi"和"There"会被分为另一组。
阅读全文