2 回答

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();
}

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);
}
因此,您的用例確實確定了您可以采用的理想方法。
添加回答
舉報