遍历 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[]> [重复]的主要内容,如果未能解决你的问题,请参考以下文章

java怎么循环遍历ArrayList

求教arraylist里面放map,怎么循环遍历得到map里面的数据,如:List<Map<String, String>> list = new Ar

如何从 HashMap 中提取 ArrayList 并在 Java 中循环遍历它?

ArrayList和Map 的遍历

ArrayList遍历的同时删除

ArrayList存储字符串并遍历