「拡張for文」の版間の差分
提供: Java入門
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | [[拡張for文]](for-each文)とは、Java 5.0 で導入された foreach 文です。配列や[[List]] | + | [[拡張for文]](for-each文)とは、Java 5.0 で導入された foreach 文です。配列や[[List]]などのコレクションを簡単に回せます。Java 8 では、[[List]]などのコレクションクラスに[[forEach]]メソッドが導入されました。 |
'''読み方''' | '''読み方''' | ||
行6: | 行6: | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | [[拡張for文]] | + | [[拡張for文]] は、foreach文です。C++でいえば、C++11で導入されたRange-based for loopです。 |
+ | |||
+ | Javaの[[拡張for文]]の文法は、以下の通りです。 | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
for ( 変数: コレクションや配列 ) { | for ( 変数: コレクションや配列 ) { | ||
行12: | 行14: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
+ | array は、int の配列です。従来のfor文を利用した書き方では、以下のコードですが、 | ||
+ | <syntaxhighlight lang="java"> | ||
+ | for ( int i = 0; i < array.length; i++ ) { | ||
+ | System.out.println(array[i]); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | [[拡張for文]]を使用すると | ||
+ | <syntaxhighlight lang="java"> | ||
+ | for ( int data : array) { | ||
+ | System.out.println(data); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | こんなに簡単に書けます。 | ||
== ソースコード == | == ソースコード == | ||
=== Listでの例 === | === Listでの例 === | ||
行27: | 行42: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
+ | * [[forEach]] | ||
* [[List]] | * [[List]] | ||
+ | * [[コレクションフレームワーク]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2015年3月21日 (土) 21:03時点における最新版
拡張for文(for-each文)とは、Java 5.0 で導入された foreach 文です。配列やListなどのコレクションを簡単に回せます。Java 8 では、ListなどのコレクションクラスにforEachメソッドが導入されました。
読み方
- 拡張for文
- かくちょう ふぉー ぶん
- for-each文
- ふぉー いーち ぶん
概要
拡張for文 は、foreach文です。C++でいえば、C++11で導入されたRange-based for loopです。
Javaの拡張for文の文法は、以下の通りです。
for ( 変数: コレクションや配列 ) { // 処理 }
array は、int の配列です。従来のfor文を利用した書き方では、以下のコードですが、
for ( int i = 0; i < array.length; i++ ) { System.out.println(array[i]); }
拡張for文を使用すると
for ( int data : array) { System.out.println(data); }
こんなに簡単に書けます。
ソースコード
Listでの例
import java.util.*; List<String> list = Arrays.asList( "foo", "bar", "hoge" ); for (String s: list) { System.out.println(s); }