1 回答

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 。
希望我能正確理解您的問題,并且此答案對您有所幫助。
添加回答
舉報