1 回答
![?](http://img1.sycdn.imooc.com/54584f3100019e9702200220-100-100.jpg)
TA贡献1851条经验 获得超4个赞
不应该在这里使用嵌套的for-each循环。
尝试在上建立索引listMain,并将每次迭代的结果存储在一种元组中。该元组可以存储在中Map。如您的朋友所述,您可以HashMap为此使用a 。这样的事情应该可以解决问题:
ArrayList<Main>listMain = mainDAO.getlAllMain(Connection con);
Map<Integer, Pair<A, B>> map = new Hashmap<>();
for (int i = 0; i < listMain.size(); i++) {
ArrayList<A> listA = aDAO.getallbyMainId(Connection con, int main);
ArrayList<B> listB = bDAO.getallbyMainId(Connection con, int main);
A aValue = listA.get(i);
B bValue = listB.get(i);
map.put(i, new Pair(aValue, bValue));
}
我在这里使用apache-commons类Pair作为元组。参见下文以获取有关Java中元组的更多信息。例如,您可以为此使用自定义类。
还可以String根据您稍后要使用的信息将配对内容的类型和映射键更改为a 。
希望我能正确理解您的问题,并且此答案对您有所帮助。
添加回答
举报