Bax*_*tex 6 java arrays iterator 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);
Run Code Online (Sandbox Code Playgroud)
这是我正在做的一些实验.我虽然iterator.next()会在当前行返回StringArray,所以我尝试了例如iterator.next(0).据我所知list.get(x)只给我一行.
在上面的代码中,我希望每个行String Array都在某个索引处.像这样的东西:
for each row
system.out.println(String[2] +String[5]);
Run Code Online (Sandbox Code Playgroud)
那是因为你有一个数组列表,而不是一个字符串列表.
List<String[]> list = //some data
for (String[] array : list){
System.out.println(array[3] + ":" + array[5]);
}
Run Code Online (Sandbox Code Playgroud)
如果要迭代每个字符串,则必须迭代两次.
List<String[]> list = //some data
for (String[] array : list){
for (String s : array){
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
以上是使用迭代器的简写.
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]);
}
Run Code Online (Sandbox Code Playgroud)