是否有一个Java等效于C#的.Aggregate(foo)方法?

眼睛

我正在尝试在Java中的此问题中实现接受答案:

大于2的整数集合中的最大公约数

但是我不知道如何实现聚合功能。

灵魂大师

使用Java 8时只有一种:

public class GCD {
    public static void main(String[] args) {
        int[] ints = { 42, 21, 14, 70 };
        System.out.println(gcd(ints));
    }
    public static int gcd(int[] ints) {
        return Arrays.stream(ints).reduce((a, b) -> gcd(a, b)).getAsInt();
    }
    public static int gcd(int a, int b) {
        return b == 0 ? a : gcd(b, a % b);
    }
}

输出为“ 7”。聚合函数称为归约

替代方案:lambda也可以使用方法参考来编写。

public static int gcd(int[] ints) {
    return Arrays.stream(ints).reduce(GCD::gcd).getAsInt();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否有一个等效于Java中BasicFileAttributes的外部库?具体来说方法是fileKey吗?

是否有一个等效于WKInterfaceController的.becomeCurrentPage方法的SwiftUI?

是否有一个等效于.js的js包含c#

C#等效于Java 8“方法参考”

C#等效于Java的Arrays.fill()方法

Java InputStream和OutputStream是否有C#等效方法?

Javascript .apply()方法是否等效于Java?

C# 异步任务 - 一个方法中是否可以有 1 个以上的 await()

是否有一个等效于python virtualenv的GO?

是否有一个等效于def的Clojure宏?

是否有一个与javascript的Array.prototype.every方法等效的红宝石?

C#是否有很好的方法迭代一个范围中的每个整数(减去1)?

C#,是否有一个采用类的变量或更改所选类的方法

Pyspark中是否有一种等效于SQL的MSCK REPAIR TABLE的方法

Unix中是否有一个等效于文件命令的Java库

Rust中是否有一个等效于Java的Stream.Iterate的函数?

是否有一个Delphi等效于Java接口(“类...实现”)?

是否有一个Java.Swing等效于AS3的ADDED_TO_STAGE事件?

是否有一个等效于python functools.partial的C ++

是否有一个等效于Swift / Obj-C / iOS的ruby控制台?

Java是否具有等效于C#“ using”子句的

java 是否有等效于 C# 的 `using` 语句

本机Java方法是否等效于静态Java方法?

是否有等效于python中的any方法的方法

Java等效于C#委托(排队要执行的各种类的方法)

在C#中是否有Java标记的等效中断或替代方法

是否有Dart等效于Python的all()方法?

Java是否等效于C#的InvalidOperationException?

C# 等效于 C++ 的方法签名中的“¶m”