對於每個用戶,我提取對應於該用戶的名稱,併爲每個提取的名稱提供相應的List
。在這種情況下,我可以避免嵌套for循環嗎?
我試圖複製使用此之下獨立程序的示例:
package com;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String args[]) {
List<String> users = new ArrayList<String>();
users.add("user101");
users.add("adminuser");
for (String user : users) {
try {
ArrayList<String> namesCorrespondingtoUser = getNamesCorrespondingtoUser(user);
for (String Id : namesCorrespondingtoUser) {
List<String> Items = getItemsCorrespondingtoId(user, Id);
filter(Items, user);
}
} catch (Exception e) {
}
}
}
public static ArrayList<String> getNamesCorrespondingtoUser(String userName)
throws Exception {
ArrayList<String> names = new ArrayList<String>();
if (userName.equals("user101")) {
names.add("UBSC1");
names.add("HDBG1");
names.add("GHYU1");
}
if (userName.equals("adminuser")) {
names.add("UBSC1");
names.add("HDBG1");
names.add("GHYU1");
}
return names;
}
public static List<String> getItemsCorrespondingtoId(String userName,
String Id) throws Exception {
return null;
}
private static void filter(List<String> Items, String user) {
}
}
我很擔心,因爲有一個用於內部循環的循環。
請讓我知道,如果這可以改善任何方式。
您爲什麼擔心?嵌套循環非常好,在你的情況下,似乎是正確的方法。 – Carsten
如果您在這裏使用Map(將ID和用戶存儲在相同的數據結構中),而不是使用兩個列表,那麼您可以避免此循環嵌套。但這種方式在我看來也很好 – Freak
也許,http://codereview.stackexchange。 com /更適合這些問題? – zEro