[解決済み】Java 8 ストリームと配列の操作
2022-04-11 04:45:30
質問
私はちょうどJava 8の新しいストリーム機能を発見したところです。Pythonから来た私は、2つの配列の合計や乗算のような配列に対する操作を、quot;1行のpythonic"方法で行うためのきちんとした方法があるのかと思っていましたか?
ありがとうございます。
解決方法は?
に新しいメソッドが追加されています。
java.util.Arrays
を使用して、配列を Java 8 ストリームに変換し、それを合計などに使用することができます。
int sum = Arrays.stream(myIntArray).sum();
2つの配列の掛け算は少し難しく、Stream操作で値とインデックスを同時に取得する方法が思いつかないからです。つまり、おそらく配列のインデックスをストリームで取得する必要があります。
//in this example a[] and b[] are same length
int[] a = ...
int[] b = ...
int[] result = new int[a.length];
IntStream.range(0, a.length).forEach(i -> result[i] = a[i] * b[i]);
コメント欄
ホルガー
を使用することができると指摘しています。
map
メソッドの代わりに
forEach
のようにします。
int[] result = IntStream.range(0, a.length).map(i -> a[i] * b[i]).toArray();
関連
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Java 8 StreamをArrayに変換する方法は?
-
[解決済み] 可能な限り常にパラレルストリームを使用した方がいいのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] 文字列の巻き方
-
[解決済み] JDK8でlambdaを使ってストリームをZIPする (java.util.stream.Streams.zip)