【Java入門】拡張for文とJava8のforEachの使い方総まとめ

こんにちは!エンジニアの中沢です。

Javaにはループ処理を行うfor文がありますが、他にも拡張for文(for-each文)や、Java8で追加されたforEachメソッドを使ってループ処理を行うことができます。

この記事では、

  • 拡張for文とは
  • Java8で追加されたforEachメソッドとは
  • Listで拡張for文を使う方法
  • Mapで拡張for文を使う方法
  • ListでJava8のforEachメソッドを使う方法

などの基本的な内容から、応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、拡張for文とforEachメソッドの使い方をわかりやすく解説します!

拡張for文とJava8のforEachメソッドとは

ループ処理はfor文で行うことができますが、拡張for文やforEachメソッドを使うことでより簡潔にコードを記述できるようになります。

拡張for文とは

拡張for文は、配列やListなどのコレクションのすべての要素に対して順番に処理を行うために使います。拡張for文の構文は次のように記述します。

拡張for文は通常のfor文と違って条件式と変化式が無いため、Listなどすべての要素に対して処理を行います。

Java8で追加されたforEachメソッドとは

Javaのループ処理にはfor文、拡張for文などがありましたが、Java8でforEachメソッドとラムダ式が追加されました。forEachメソッドとラムダ式を使うことで、さらに簡潔にコードを書けるようになります。

forEachメソッドを使ったラムダ式の構文は次のように記述します。

ラムダ式を使った場合は型を書く必要がなくなるので、拡張for文よりもさらに簡潔にコードを書くことができます。

拡張for文の使い方

ここでは拡張for文をListとMapで使う方法を解説します。

Listで拡張for文を使う方法

拡張for文を使ってListのすべての要素に対して同じ処理を行うことができます。Listで拡張for文を使う方法を次のプログラムで確認してみましょう。

このプログラムでは、Listのすべての要素を順番に表示しています。ここではListで拡張for文を使う方法を解説しましたが、拡張for文と同じように要素数を気にせずループ処理を行うIteratorというものがあります。

Iteratorの使い方を詳しく知りたいときはこちらの記事を確認してください。

【3分でわかるJavaの基礎】List内のデータをfor文で処理する方法(iterator)
更新日 : 2017年6月7日

Mapで拡張for文を使う方法

拡張for文はMapに使うこともできます。

拡張for文を使ってMapからキーと値を取得する方法を、次のプログラムで確認してみましょう。

このプログラムでは、キーと値のペア(エントリー)からキーと値をそれぞれ取得して表示しています。Mapで拡張for文を使う方法を詳しく知りたいときはこちらの記事を確認してください。

【Java入門】Mapにfor文やforeachのループを使いキーと値を取得する
更新日 : 2019年4月12日

Java8のforEachメソッドの使い方

最後にJava8で追加されたforEachメソッドとラムダ式の使い方を解説します。

forEachメソッドとラムダ式の使い方を次のプログラムで確認してみましょう。

このプログラムではforEachメソッドとラムダ式を使って、Listのすべての要素を順番に表示しています。

このように、forEachメソッドとラムダ式を使うことでループ処理が1行で簡潔に記述できました。

forEachメソッドとラムダ式について詳しく知りたいときはこちらの記事を確認してください。

【Java入門】Java8のforEachとラムダ式を配列、List、Mapで使う
更新日 : 2019年5月4日

まとめ

いかがでしたか?

今回は拡張for文とforEachメソッドの使い方について解説しました。ラムダ式は理解するまで難しいかもしれませんが、処理を簡潔に記述できるのでぜひ覚えてくださいね。

もし、拡張for文とforEachメソッドを使ってループ処理を行う方法を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説