質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

14487閲覧

JavaのStreamを使用してint[]の総和を1行で求める

d_tutuz

総合スコア730

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

1クリップ

投稿2018/06/09 13:47

前提・実現したいこと

Java8のStreamを使用して、intの配列aの総和を簡単に(1行で)求めたいです。
for文で各要素を足すのは当たり前にできます。
Streamを使用して1行で求めることも、おそらくできるのだろうと思っているのですが、具体的な実装方法がわからず、ご教示いただけないでしょうか。

java

1public class Sample { 2 3 public static void main(String[] args) { 4 5 int[] a = {1 ,6 ,10, 30, 44}; 6 int sum = 0; 7 8 // TODO: Streamを使用して1行で配列aの総和を求める 9 10 System.out.println(sum); // sum = 91 11 } 12 13}

よろしくお願いします。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/09 13:51

Streamを使う課題でしょうか、それとも他にやり方があればそれでもかまわないのでしょうか。要件・ゴールを明確に記述してください。
d_tutuz

2018/06/09 21:21

Streamを使う課題でした。確認いただきありがとうございます。
m.ts10806

2018/06/09 22:01

今後ですが、必ず前程や背景は書いておくようにしてください。回答の方向性が変わってきますので。
m.ts10806

2018/06/09 22:02

↑質問は編集することができるので、コメントや指摘があった場合にはできる範囲で修正対応おねがいします。
guest

回答3

0

ベストアンサー

java

1int sum = java.util.Arrays.stream(a).sum();

投稿2018/06/09 13:52

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d_tutuz

2018/06/09 13:56

ありがとうございます。一番最初に返信いただいたのでベストアンサーにさせていただきました。
退会済みユーザー

退会済みユーザー

2018/06/09 13:59

2番目だとおもうぞこっち 1分遅い
guest

0

どれくらい調べたのか若干疑問ですが...

Java

1int sum = Arrays.stream(a).sum();

参考

投稿2018/06/09 13:51

編集2018/06/09 13:53
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d_tutuz

2018/06/09 13:56

私の調べ方が悪かったのかもしれません。回答ありがとうございます。助かりました。
guest

0

java stream 合計
などで、 google 検索すれば、それなりの情報が得られるはずです。

たとえばこんなページ

Java のラムダ式と StreamAPI。入門レベルを図解で
http://ailaby.com/java_lambda/#id3_3

...
IntStream、 LongStream、DoubleStream は、数値(int、long、double)専用の Stream です。平均を求める average や 合計を求める sum といったメソッドが用意されており、集計を非常に簡単に行えます。
...

List<String> list = Arrays.asList("100", "200", "300", "400");

?

int sum = list.stream()
.mapToInt(s -> Integer.parseInt(s))
.sum();
...

投稿2018/06/10 09:35

編集2018/06/11 12:30
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2018/06/11 07:35

URL貼り付けのマークダウン、()と[]の中身が逆ですよ。
katoy

2018/06/11 12:31

↑ 修正しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問