gpt4 book ai didi

java - 迭代和过滤数组 2D Java 8

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:50 24 4
gpt4 key购买 nike

我有一个这样的数组:

int[] array_example = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
Long count_array = Arrays.stream(array_example)
.filter(x -> x>5)
.count();

和像这样的二维数组:

int[][] matrix_example = {{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}};
Long count_matrix = 0L;
for(int[] temp: matrix_example){
for(int x_y: temp){
if(x_y > 5)
count_matrix++;
}
}

如何使用 java 8 或更高版本获取矩阵中大于 x 的元素数?

最佳答案

您可以使用 flatMapToInt 创建矩阵的 IntStream然后像以前一样使用 filtercount :

Long count_matrix = Arrays.stream(matrix_example) // Stream<int[]>
.flatMapToInt(Arrays::stream) // IntStream
.filter(x_y -> x_y > 5) // filtered as per your 'if'
.count(); // count of such elements

关于java - 迭代和过滤数组 2D Java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com