Java 获取循环外的列表

Java 获取循环外的列表,java,Java,我需要从另一个列表中获取一个列表,因此以下是我所做的: ArrayList<String> userList = user.getListSalarieByManager(login); ArrayList<DHDemande> demandesList; for (int i = 0; i < userList.size(); i++) { demandesList = d.getDemandesForManager(userList.get(i)); }

我需要从另一个列表中获取一个列表,因此以下是我所做的:

ArrayList<String> userList = user.getListSalarieByManager(login);
ArrayList<DHDemande> demandesList;
for (int i = 0; i < userList.size(); i++) {
    demandesList = d.getDemandesForManager(userList.get(i));
}
ArrayList userList=user.getListSalarieByManager(登录);
ArrayList需求列表;
对于(int i=0;i
然后我需要从列表
demandesList
中获取数据,但我无法在循环外获取此列表,因为它尚未初始化


如何从循环中的列表中获取数据?

这是因为您尚未实际初始化第二个列表

ArrayList<DHDemande> demandesList;
编辑2:只是一个小注释,您可以用for-each替换for循环,因为您实际上不需要知道
i
(索引)的值

例如:

for (int i = 0; i < userList.size(); i++) {
    demandesList.addAll(d.getDemandesForManager(userList.get(i)));
}

这是因为您尚未实际初始化第二个列表

ArrayList<DHDemande> demandesList;
编辑2:只是一个小注释,您可以用for-each替换for循环,因为您实际上不需要知道
i
(索引)的值

例如:

for (int i = 0; i < userList.size(); i++) {
    demandesList.addAll(d.getDemandesForManager(userList.get(i)));
}

您只需在循环内部或外部正确初始化列表, 但您似乎希望将元素添加到循环内的列表中。 我将您的循环迭代更改为现代java列表迭代样式

// initialize variables just so this example compiles
UserProvider user = new UserProvider(); 
Object login = null; 
DHDemandeProvider d = new DHDemandeProvider();  only

ArrayList<String> userList;
userList = user.getListSalarieByManager(login);
ArrayList<DHDemande> demandesList = new ArrayList<DHDemande>(); // construct list
for (String u: userList) {
    demandesList.add(d.getDemandesForManager(u));  // add elements to list
}
//初始化变量,以便本例编译
UserProvider user=newuserprovider();
对象登录=空;
DHDemandeProvider d=新的DHDemandeProvider();只有
ArrayList用户列表;
userList=user.getListSalarieByManager(登录);
ArrayList DemandList=新建ArrayList();//构造列表
for(字符串u:userList){
demandesList.add(d.getDemandeFormanager(u));//将元素添加到列表中
}

您只需在循环内部或外部正确初始化列表, 但您似乎希望将元素添加到循环内的列表中。 我将您的循环迭代更改为现代java列表迭代样式

// initialize variables just so this example compiles
UserProvider user = new UserProvider(); 
Object login = null; 
DHDemandeProvider d = new DHDemandeProvider();  only

ArrayList<String> userList;
userList = user.getListSalarieByManager(login);
ArrayList<DHDemande> demandesList = new ArrayList<DHDemande>(); // construct list
for (String u: userList) {
    demandesList.add(d.getDemandesForManager(u));  // add elements to list
}
//初始化变量,以便本例编译
UserProvider user=newuserprovider();
对象登录=空;
DHDemandeProvider d=新的DHDemandeProvider();只有
ArrayList用户列表;
userList=user.getListSalarieByManager(登录);
ArrayList DemandList=新建ArrayList();//构造列表
for(字符串u:userList){
demandesList.add(d.getDemandeFormanager(u));//将元素添加到列表中
}

为什么要在下一行初始化用户?这没有任何意义。它增加了额外的、不需要的行,使代码更难阅读。@Nathanhughs但是我的函数getDemandeFormanager()返回一个列表,我如何才能将列表添加到列表中?我发现
addAll
为什么要在下一行初始化用户?这没有任何意义。它增加了额外的、不需要的行,使代码更难阅读。@Nathanhughs但是我的函数getDemandeFormanager()返回一个列表,我如何才能将列表添加到列表中?我发现了
addAll
很好,谢谢你,我认为它很有效
ArrayList demandesList足够了。是的,这就是我要找的。但是我的函数
getDemandFormanager()
返回一个列表,我可以将列表添加到列表中吗?是的,可以使用
addAll
-我已经在我的帖子中更新了代码。很好,谢谢你,它工作正常,我认为
ArrayList demandesList足够了。是的,这就是我要找的。但是我的函数
getDemandFormanager()
返回一个列表,我可以将列表添加到列表中吗?是的,可以使用
addAll
-我已经在我的帖子中更新了代码。