1

最短形式とは、Java コードの行数が最小であることを意味します。整数値の ArrayList のアイテムの平均値を取得したいと思います。たとえば、ArrayList arの場合:

ArrayList<Integer> ar = new ArrayList<Integer>(Arrays.asList(1,2,3,5,8,13,21));

私は次のようなものを探しています

ar.Average()

また

ar.Sum()

また

Arrays.Average(ar)

PS。ループで実行できることはわかっています。より短い代替手段を探しているだけです。

4

4 に答える 4

0

コードの行は常にまったく意味のない尺度ですが、それが気になる場合は次のようになります。

int sum=0;for(Integer i:ar)sum += i;System.out.println(sum);
于 2013-02-21T23:14:09.893 に答える
0

Apache Commons Math などの Math ライブラリを使用できます。

http://commons.apache.org/math/apidocs/index.html

特に SummaryStaticics オブジェクト ( http://commons.apache.org/math/apidocs/src-html/org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#line.123 )。平均的なものでは、ライブラリをインポートする価値はないでしょう。

于 2013-02-21T23:06:33.643 に答える
0

すでに Java 8 を使用している場合:

double average = Arrays.asList(1, 2, 3, 4)
                       .stream()
                       .map(Integer::intValue)
                       .average()
                       .getAsDouble();
于 2013-02-21T23:11:46.013 に答える
0

commons math ライブラリには、単純な統計に必要と思われるものだけでなく、平均も含まれています。おそらくまさにあなたが探しているものは何ですか?

于 2013-02-21T23:09:11.230 に答える