2 回答
![?](http://img1.sycdn.imooc.com/533e4c420001b2e502000200-100-100.jpg)
TA贡献1828条经验 获得超3个赞
假设您使用的是Java 8+,那么Collection<TypeInList>您可以调用Collection.stream()并对此进行forEach操作。喜欢,
testList.stream().forEach(TypeInList::function);
您当前的方法是尝试做this无法做到的事情。它可以像这样固定
for (int i = 0; i < testList.size(); i++)
{
TypeInList that = testList.get(i); // this is a reserved word.
that.function();
}
或者
for (TypeInList x : testList) {
x.function();
}
![?](http://img1.sycdn.imooc.com/545863f50001df1702200220-100-100.jpg)
TA贡献1788条经验 获得超4个赞
遍历列表有多种方法,但是我个人最容易找到的是这样的:
假设您的列表包含String对象,例如:
List<String> list = new ArrayList();
list.add("Hello");
list.add("World");
for(String current : list){
System.out.println(current);
}
该循环将迭代两次,控制台将输出以下内容:
Hello
World
这种方法不依赖索引(因为您在问题中的使用方式),因此,我发现它很容易用于遍历单个列表。
但是,缺点是,如果您要遍历2个单独的列表,则缺少索引会使其变得更加复杂。遍历多个列表的更简单方法是使用传统方法,如下所示:
for(int i=0; i<list.size(); i++){
int x = list1.get(i);
int y = list2.get(i);
}
因此,您的用例确实确定了您可以采用的理想方法。
添加回答
举报