拡張型forサイクルと通常のforサイクルの使用上の違い
2271 ワード
集合や配列を巡るのは普段からよく使われていますが、これまで本当にまとめたことはありませんでしたが、今整理してみました.
全体的には、
拡張型forループは使いやすく、コードも簡単ですが、インデックスを使わずにコレクション内の要素を操作する場合は、この方法をお勧めします.
通常のforループでは、インデックスを使用して他の操作を行う必要がある場合は、これを推奨します.
詳細は次のとおりです.
1、違い:
強化forループには、集合や配列などの遍歴されたターゲットが必要です.
通常forループ配列を巡る場合はインデックスが必要です.
拡張forループは下付きスケールを取得できないので、配列を巡回するときは通常のforループを使用することが望ましい.
2、特徴:
簡潔に書く.
集合を巡回し、集合要素のみを取得し、集合を操作することはできない.反復器の略記形式のようなものであるが、反復器は要素をremove操作することができる(ListIteratorは削除・変更できる操作).
3、書式:
for(データ型変数名:遍歴された集合(collection)または配列){
じっこうぶん
}
全体的には、
拡張型forループは使いやすく、コードも簡単ですが、インデックスを使わずにコレクション内の要素を操作する場合は、この方法をお勧めします.
通常のforループでは、インデックスを使用して他の操作を行う必要がある場合は、これを推奨します.
詳細は次のとおりです.
1、違い:
強化forループには、集合や配列などの遍歴されたターゲットが必要です.
通常forループ配列を巡る場合はインデックスが必要です.
拡張forループは下付きスケールを取得できないので、配列を巡回するときは通常のforループを使用することが望ましい.
2、特徴:
簡潔に書く.
集合を巡回し、集合要素のみを取得し、集合を操作することはできない.反復器の略記形式のようなものであるが、反復器は要素をremove操作することができる(ListIteratorは削除・変更できる操作).
3、書式:
for(データ型変数名:遍歴された集合(collection)または配列){
じっこうぶん
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ForTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
/* 1. */
int array[] = { 1,2,3,4,5,6,7,8,9};
// for
for (int item : array) {
System.out.println(item);
}
// for
for (int i = 0; i < array.length; i++)
System.out.println(array[i]);
/* 2. */
int array2[][] = {{1,2,3}, {4,5,6}, {7,8,9} };
// for
for (int arr[] : array2) {
for (int item : arr) {
System.out.println(item);
}
}
// for
for (int i = 0; i < array2.length; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.println(array2[i][j]);
}
}
/* 3.List */
List list = new ArrayList();
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
// for
for (String item : list){
System.out.println(item);
}
// for
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}