在Java中迭代列表
我有一个疑问:我可以迭代列表吗?我指的是一份清单,而不是一个收藏。我知道List是一个接口,但似乎可以使用数组.asList(String[])”在转换在Java中迭代列表,java,Java,我有一个疑问:我可以迭代列表吗?我指的是一份清单,而不是一个收藏。我知道List是一个接口,但似乎可以使用数组.asList(String[])”在转换“String[]”后返回List 是可能的还是我错了?是的,有一个超级界面,因此(例如,如果您有一个名为列表的列表),您可以这样做 for (String str : list) // do something with `str` 这可能是对列表进行迭代的最简单方法(称为a for each循环)。事实上,您可以像这样对任何集合进行迭代
“String[]
”后返回List
是可能的还是我错了?是的,有一个超级界面,因此(例如,如果您有一个名为列表的列表),您可以这样做
for (String str : list)
// do something with `str`
这可能是对列表进行迭代的最简单方法(称为a for each循环)。事实上,您可以像这样对任何集合进行迭代。返回一个java.util.list
,这是一个。有什么问题
List yourList = Arrays.asList(yourStringArray);
for (String s : yourList) {
// do something with s
}
或者更简单(您不需要列表)
您可以对列表、数组或包装数组的列表进行迭代。您可以使用带有while循环或for循环的迭代器对其进行迭代,但要对索引进行计数,或者使用for-each构造
没有很多方法可以做到这一点,我将不再添加这么多示例。好吧,你尝试了什么?你搜索了什么?你看过API了吗?(提示:尝试Enced for loop
或iterate list
)测试怀疑的最佳方法是编写代码。这是你唯一的怀疑吗?对不起;-)如果(myList instanceof Iterable){System.out.println(“可以迭代列表”);}Google:在Java.TY中迭代列表以获得答案。好的,我知道。但是,如果列表是一个接口(无法实例化),为什么可能呢?迭代一个接口?或者那个引用(列表)是什么指向当前?好吧,实现列表
接口的任何类的实例;无论是数组列表
、链接列表
、匿名类还是任何自定义类都没有区别-因为该类实现了列表
,所以它也保证是可编辑的
(正如我在回答中提到的)。因此,我们可以用for-each循环对其进行迭代。因此,如果我在String[]
上使用“asList”
,它将重新运行ArrayList
或List
或原始List
?谢谢!正确,它不一定是ArrayList
(因为该方法的返回类型不是ArrayList
,而是简单的List
),但它返回的肯定是Iterable
。我明白了,谢谢你的回答。我之前不知道可以使用接口来实现。
for (String s : yourStringArray) {
// do something with s
}