配列内の整数の合計のための+ラムダ式関数インタフェース

アリー:

私は、その方法は、入力として整数kおよび整数の配列を受け取り、整数を返す機能インターフェイスを作成するように要求運動に取り組みました。次いで、Iはインタフェースのインスタンス未満またはKに等しい、配列内のすべての値をオフ合計を返すラムダ式に割り当てなければなりません。

インタフェースのために私は私のような何かをするべきだと思います。

@FunctionalInterface
public interface FunctionOnAnArray {
    int apply(int k, int ... intArray);
}

しかし、私は、ラムダ式を把握することはできません。

public class Test {
    int sum = 0;
    FunctionOnAnArray f = (k, intArray) -> { for (int i : intArray) if (i <= k) sum += i; return sum; };
}

これはあまりにも不格好と思われます。

また:

あなたはそれをとして簡素化することができます:

FunctionOnAnArray f = (k, arr) -> Arrays.stream(arr)
    .filter(a -> a <= k)
    .sum();

:あなたはまた、可変引数とのインタフェースを定義して、それを更新しないことを選択することができます:

@FunctionalInterface
public interface FunctionOnAnArray {
    int apply(int k, int[] arr);
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215223&siteId=1