- PR -

Javaのforループ

1
投稿者投稿内容
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-09-19 09:02
お世話になります。

最近、あるJavaのPGを分析した所、下記のようなforループを見当たりました。

for(int i=0;i<10;i++)
  for(int index:g.get(i) )
{
.....
}
二番目のforはどういう意味でしょうか?
宜しくお願いします。
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2006-09-19 09:19
「Java 拡張 for ループ」で検索するとわかります。
とりあえず1件見つかったので、こちらをどうぞ。
http://www.stackasterisk.jp/tech/java/jdk503_01.jsp

件のコードですが、変数gの宣言が、ArrayList<String[]>のような、
配列を要素とするList型なのでしょう。
配列ならString[]でなくてもいいんですが。

こう書いてあったら、知らない人でももうちょっと読めたかもしれません。
コード:
ArrayList<String[]> g = new ArrayList<String[]>();
// ... gに10個以上要素を入れる
for(int i=0;i<10;i++) {
    String[] array = g.get(i);
   for(int index: array ) {
        // ...
    }
}

Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-09-19 09:34
有難うございます。

変数gの宣言が、ArrayList<String[]>のような
配列ではないですが、g.get(i)の戻り値はCollection<Integer>です。

今後とも宜しく
_________________
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-09-19 11:22
for(int index:g.get(i))と書いてあるので、各要素はintでしょうね。
よって、g.get(i)はCollection<Integer>になると思います。
で、gの型はList<Collection<Integer>>かな。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-09-19 17:40
お世話になります。

gの型は普通のClassです。

宜しく
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-09-19 17:54
一体なにが「宜しく」なんですか?
「大ベテラン」なんだから、質問の仕方くらい、どうにかならんもんですかね。

「g.get(i)の戻り値はCollection<Integer>」って時点で、
koe氏が提示してくれたリンク先を読めば、もう解決してますよね。

「普通のClass」って、普通じゃないClassって、なんなんでしょ。

>vincent氏
横やりで失礼ですが、gの型は、Mxfull氏の提示を待つべきかと。
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-09-19 18:04
>Edossonさん
コードから読み取れる範囲で予想を書いてみたんですが、余計でしたね。
gの型を決め付けるつもりはありません。

#軽い気持ちで書いてしまった
#まさかこんなオチがつくとは思わなかった
#いまは反省している

ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-09-19 18:08
引用:

Mxfullさんの書き込み (2006-09-19 17:40) より:
お世話になります。

gの型は普通のClassです。

宜しく


バカの典型
その2.自分が正しいと思い込み自分ルールを押し付ける
1

スキルアップ/キャリアアップ(JOB@IT)