与Java 8中的分组相反,可以使用Java 8中的Collectors.partitioningBy
方法来实现。partitioningBy
方法根据指定的条件将元素分为两组,一组满足条件,另一组不满足条件。
下面是一个示例代码:
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<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Map<Boolean, List<Integer>> result = numbers.stream()
.collect(Collectors.partitioningBy(n -> n % 2 == 0));
List<Integer> evenNumbers = result.get(true);
List<Integer> oddNumbers = result.get(false);
System.out.println("Even numbers: " + evenNumbers);
System.out.println("Odd numbers: " + oddNumbers);
}
}
输出结果为:
Even numbers: [2, 4, 6, 8, 10]
Odd numbers: [1, 3, 5, 7, 9]
在这个例子中,我们将数字列表根据是否为偶数进行分组,得到了一个Map<Boolean, List<Integer>>
,其中键为true
表示偶数,键为false
表示奇数。然后我们可以通过result.get(true)
和result.get(false)
来获取对应的分组结果。
腾讯云相关产品和产品介绍链接地址:
以上是腾讯云提供的一些与云计算相关的产品,可以根据具体需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云