stream如何将list分组
要将一个list分组,可以使用Java 8中的Stream API。Stream API提供了一个groupingBy方法,可以将list中的元素按照指定的条件进行分组。
下面是一个示例代码,演示如何将一个List
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupingExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Map<String, List<Integer>> groups = numbers.stream()
.collect(Collectors.groupingBy(n -> n % 2 == 0 ? "even" : "odd"));
System.out.println(groups);
}
}
输出结果为:
{even=[2, 4, 6, 8, 10], odd=[1, 3, 5, 7, 9]}
在上面的代码中,使用stream()方法将list转换为一个Stream对象,然后使用groupingBy方法将元素按照n % 2的结果进行分组。这样就可以将list中的奇数和偶数分别放入不同的列表中。最后,使用collect方法将分组结果收集到一个Map中。
你可以根据需要修改groupingBy方法的参数,以实现不同的分组条件
原文地址: http://www.cveoy.top/t/topic/h8PW 著作权归作者所有。请勿转载和采集!