java8stream流将list分组 返回list
时间: 2024-04-27 13:15:57 浏览: 100
在Java 8中,可以使用Stream流的groupingBy方法将List按照指定的条件进行分组,并返回一个Map对象。具体的代码如下所示:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = List.of("apple", "banana", "orange", "grape", "watermelon");
Map<Integer, List<String>> groupedMap = list.stream()
.collect(Collectors.groupingBy(String::length));
System.out.println(groupedMap);
}
}
```
上述代码中,我们创建了一个包含一些水果名称的List。然后,我们使用stream()方法将List转换为Stream流,并使用groupingBy方法按照水果名称的长度进行分组。最后,我们将分组结果打印出来。
运行上述代码,输出结果如下:
```
{5=[apple, grape], 6=[banana, orange], 10=[watermelon]}
```
可以看到,分组结果是一个Map对象,其中键是水果名称的长度,值是对应长度的水果名称列表。
阅读全文