java list groupby
时间: 2023-08-17 20:11:26 浏览: 48
在 Java 中,可以使用 Stream API 和 Collectors 类的 groupingBy 方法来实现对列表的分组操作。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupByDemo {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple", "banana", "cherry", "date", "elderberry", "fig");
Map<Integer, List<String>> groupByLength = fruits.stream()
.collect(Collectors.groupingBy(String::length));
System.out.println(groupByLength);
}
}
```
在上述示例中,我们创建了一个包含水果名称的列表。然后,使用 Stream API 的 `groupingBy` 方法按照水果名称的长度进行分组。最后,将结果输出到控制台。
运行上述代码将得到以下输出:
```
{3=[fig], 4=[date], 5=[apple], 6=[banana, cherry], 10=[elderberry]}
```
可以看到,水果根据其名称的长度被正确地分组了。每个键都是长度值,而每个值都是具有相同长度的水果名称列表。