遍历 Arraylist<String[]> [重复]
Posted
技术标签:
【中文标题】遍历 Arraylist<String[]> [重复]【英文标题】:Iterate over Arraylist<String[]> [duplicate] 【发布时间】:2016-09-07 03:13:56 【问题描述】:我有一个完整的 ArrayList,其中包含我无法弄清楚如何循环的字符串数组。迭代器对我来说是新的,尽管我过去使用过它们,但我不确定在这里做什么。
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() 会返回当前行上的 StringArray,所以我尝试了例如 iterator.next(0)。据我了解 list.get(x) 只给了我行。
在上面的代码中,我希望每行字符串数组都位于某个索引处。 像这样的:
for each row
system.out.println(String[2] +String[5]);
【问题讨论】:
这里有一个细微的差别,作者试图确定如何在循环内使用Array值。 【参考方案1】:那是因为你有一个数组列表,而不是字符串列表。
List<String[]> list = //some data
for (String[] array : list)
System.out.println(array[3] + ":" + array[5]);
如果你想对每个字符串进行迭代,你将不得不迭代两次。
List<String[]> list = //some data
for (String[] array : list)
for (String s : array)
System.out.println(s);
编辑
以上是使用迭代器的简写。
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]);
【讨论】:
【参考方案2】:您可以这样做,而不必担心代码中的迭代器:
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]);
【讨论】:
以 1 秒的速度进入帖子。【参考方案3】:Iterator<String[]> iterator = list.iterator();
while (iterator.hasNext())
String[] row = iterator.next();
//Do stuff with row
如果你使用的是列表,你也可以使用 for 循环:
for(String[] row : list)
//Do stuff with row
【讨论】:
【参考方案4】:ArrayList 中的每一项都是一个 String[],所以 iterator.next() 返回一个 String[]。一旦你有了那个字符串数组,你就可以像使用数组索引表示法的任何其他数组一样访问它。 item[0]
是数组中的第一项,item.length
告诉您数组中有多少项。
你在哪里调用list.get(4)
也会返回一个字符串数组,这几乎肯定不是你想要的输出。
【讨论】:
以上是关于遍历 Arraylist<String[]> [重复]的主要内容,如果未能解决你的问题,请参考以下文章
求教arraylist里面放map,怎么循环遍历得到map里面的数据,如:List<Map<String, String>> list = new Ar