java list集合 stream流分组
时间: 2023-10-31 11:56:35 浏览: 120
在Java中,可以使用Stream流对List集合进行分组操作。要使用Stream流对List集合进行分组,可以使用Stream的collect方法,结合Collectors.groupingBy方法来实现。下面是一个示例代码:
```
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Example {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
list.add("张三");
list.add("李四");
Map<String, List<String>> groupedMap = list.stream()
.collect(Collectors.groupingBy(s -> s));
System.out.println(groupedMap);
}
}
```
在上面的示例代码中,首先创建了一个List集合,并向其中添加了一些元素。然后使用stream方法将List转换为Stream流,接着使用collect方法结合Collectors.groupingBy方法实现对List集合的分组操作。最后,将分组结果打印出来。
运行以上代码,将输出如下结果:
```
{李四=[李四, 李四], 张三=[张三, 张三], 王五=[王五], 赵六=[赵六]}
```
以上结果表示根据元素的值对List集合进行了分组,相同的元素被放在了同一个分组下。
希望这个示例对您有所帮助。
阅读全文