我有一個下面的for循環獲取指數環
ArrayList<User> userList;
for(User user:userList){
....
}
如何獲取,即時通訊與工作電流obj的指數? 我可以改變它經常for(int i...)
循環,但這將是反生產力。
謝謝。
我有一個下面的for循環獲取指數環
ArrayList<User> userList;
for(User user:userList){
....
}
如何獲取,即時通訊與工作電流obj的指數? 我可以改變它經常for(int i...)
循環,但這將是反生產力。
謝謝。
你必須使用自己的櫃檯像這樣的
int counter = 0;
ArrayList<User> userList;
for(User user:userList){
....
counter++;
}
這是因爲每個循環Java是基於不基於基於指數反覆迭代器。實際上,foreach循環內部使用迭代器。所以它沒有任何索引。它會自動移動到一個集合或列表的項目上,根據需要抓取每個項目的引用。
看這個圖象
以這種方式迭代遍歷每個元素或對象,而無需索引。作爲for循環。
,或者您可以使用
User user = null;
for (int counter = 0; counter < userList.size(); counter++) {
user = userList.get(counter);
}
如果您想使用索引,則使用for(int i...)
是非常合理的。
你可以使用一個獨立的計數器:
int index = 0;
for (User user: list) {
//use index
index++;
}
但說實話,如果你需要的指數,它可能是更容易,只需使用普通的舊式for循環:
for (int i = 0; i < list.size(); i++) {
User user = list.get(i);
}
downvote的任何原因? – assylias
恐怕你不得不與這個或與櫃檯的for循環。沒有其他辦法。
int index = 0;
for(User user:userList){
....
index++;
}
這種類型的循環被稱爲的foreach循環 ..迭代它在收集要素 所以沒有真正的指標..這就像載體,其具有迭代器(如果你知道在C++ STL)
如你所說的普通for循環(對於(INT I = 0 ...)),只要你想
宣佈提高各所迭代循環外的INT指數將使指數離子 –
它爲什麼會反作用? – jazzbassrob
實際上,當您需要可能會產生反效果的索引時,它使用的是foreach循環。 – zakinster