相关疑难解决方法(0)

如何简化/组合这两种方法来查找数组中的最小和最大 int?

我编写了两种方法来查找数组中的最小和最大 int,但它们几乎相同,所以我觉得应该有某种方法来简化它,也许作为一种方法?

private int findMin(){
    int min = arr[0];
    for(int num : arr){
        if(num<min) {
            min = num;
        }
    }
    return min;
}

private int findMax(){
    int max = arr[0];
    for(int num : arr){
        if(num>max){
            max = num;
        }
    }
    return max;
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决此类问题,所以我很想看看您的回复!

虽然关于如何将算术运算符传递给方法的问题关于如何获取 Java 8 流的最小值和最大值的问题回答了文字编程问题,但我的问题是在更基本的层面上关于如何解决以下问题:做类似事情的方法,以及一般比较数组的方法。这篇文章的答案对我来说比这些问题的答案更有帮助。

java refactoring

12
推荐指数
5
解决办法
2523
查看次数

Stream.count()是否保证访问每个元素?

换句话说,是否保证以下行打印num线?

int num = list.stream().peek(System.out::println).count();
Run Code Online (Sandbox Code Playgroud)

这个问题是由/sf/answers/2894261051/的评论中的讨论引发的

我依稀记得一个讨论,即避免迭代的优化可能是合法的,但在快速搜索期间没有找到任何结论.

Stream.countJavaDocs包含以下语句:

这是减少的特殊情况,相当于:
return mapToLong(e -> 1L).sum();

但我不确定这是否能提供任何保证,如果流可以某种方式以短路的方式确定结果.

java java-8 java-stream

7
推荐指数
1
解决办法
197
查看次数

标签 统计

java ×2

java-8 ×1

java-stream ×1

refactoring ×1