stream list String分组
时间: 2023-09-12 08:09:32 浏览: 156
要对一个String类型的List进行分组,您可以使用Java 8 Stream API的`Collectors.groupingBy`方法来实现。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> strings = Arrays.asList("apple", "banana", "cat", "dog", "elephant", "fox");
// 按照字符串的长度进行分组
Map<Integer, List<String>> groupedStrings = strings.stream()
.collect(Collectors.groupingBy(String::length));
// 打印分组结果
groupedStrings.forEach((length, group) -> {
System.out.println("Length: " + length);
System.out.println("Group: " + group);
System.out.println("---");
});
}
}
```
在上面的示例中,我们使用`groupingBy`方法将字符串List按照字符串的长度进行分组。最终的结果是一个`Map<Integer, List<String>>`,其中Key是字符串的长度,Value是对应长度的字符串列表。
执行上述代码,您将会得到以下输出:
```
Length: 3
Group: [cat, dog, fox]
---
Length: 5
Group: [apple]
---
Length: 6
Group: [banana]
---
Length: 8
Group: [elephant]
---
```
这样,您就成功地将String类型的List按照指定的条件进行了分组。您可以根据自己的需求修改分组的条件和处理逻辑。
希望对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文