2016-05-11 4 views
3

私はどのようにループスルーを見つけることができない文字列配列で完全なArrayListを持っています。イテレーターは私にとって初めてのもので、過去にそれらを使用していましたが、ここで何をすべきか分かりません。Arraylistに反復する<String[]>

Iterator<String[]> iterator = list.iterator(); 
       while (iterator.hasNext()) { 
        String trip = "Till: " + iterator.next(0) + " | Från: " + list.get(4) + " | Kostar: " + list.get(1) +"kr | Avgår: " + list.get(2) + " | Ankomst Tid: " + list.get(3) + " | Antal bokningar: " + list.get(4); 

これは私がやっているいくつかの実験です。私はiterator.next(0)を試したので、iterator.next()はStringArrayを現在の行に返します。私が理解しているように、list.get(x)は私に行を与えます。

上記のコードでは、すべての行の文字列配列を特定のインデックスに配置したいと考えています。あなたは配列のリストではなく、文字列のリストを持っているためである

List<String[]> test = new ArrayList<>(); 
for(String[] array : test) { 
    //Iterate over inner array: 
    for(String s : array) { 
     System.out.println(s); 
    } 
    //or access directly 
    System.out.println(array[0]); 
} 
+0

ループ内でArray値を使用する方法を作成者が決定しようとしている点で微妙な違いがあります。 – cyroxis

答えて

2

for each row 
system.out.println(String[2] +String[5]); 
0

あなたはあなたのコード内でイテレータを心配することなく、これを行うことができます。このような 何か。

List<String[]> list = //some data 
for (String[] array : list){ 
    System.out.println(array[3] + ":" + array[5]); 
} 

各文字列を繰り返し処理する場合は、2回反復する必要があります。

List<String[]> list = //some data 
for (String[] array : list){ 
    for (String s : array){ 
     System.out.println(s); 
    } 
} 

上記EDITは、反復子を使用するための省略形です。

List<String[]> list = //some data 
Iterator<String[]> itr = list.iterator(); 
while (itr.hasNext()){ 
    String[] array = itr.next(); // You were just missing saving the value for reuse 
    System.out.println(array[3] + ":" + array[5]); 
} 
+0

投稿に1秒間ピップしました。 – TEK

0
Iterator<String[]> iterator = list.iterator(); 
while (iterator.hasNext()) { 
    String[] row = iterator.next(); 
    //Do stuff with row 
} 

リストを使用している場合は、forループを使用することができます。ArrayListの中

for(String[] row : list) { 
    //Do stuff with row 
} 
-1

各項目は、[] Stringですので、iterator.next() String []を返します。その文字列配列を取得したら、配列インデックス表記を使用して他の配列と同様にアクセスできます。 item[0]が配列内の最初の項目である場合、item.lengthは配列内のアイテムの数を示します。

list.get(4)を呼び出しているところでは、文字列の配列も返されます。これはほとんどの場合、出力では望ましくありません。

関連する問題