1
我想從2d數組創建一個2d ArrayList。其實我已經得到了一個臨時ArrayListand我解析它到我的2d ArrayList for循環。我試圖找到正確的方法來清除這個臨時ArrayList,以便每次都傳遞正確的值給mags ArrayList。正確清理java arraylist
for (int m = 0; m < M; m++) {
for (int n = 0; n < N; n++) {
for (int i = 0; i < gaborWavelet.length; i++) {
temp.clear();
for (int j = 0; j < gaborWavelet[0].length; j++) {
sum = gaborWavelet[i][j][m][n][0]/(M * N);
temp.add((int) (sum * 170));
}
mags.add(temp);
}
}
}
在上面的代碼中只有最終索引-i它在temp m * n * i次中傳遞。
編輯:
for (int m = 0; m < M; m++) {
for (int n = 0; n < N; n++) {
for (int i = 0; i < gaborWavelet.length; i++) {
ArrayList<Integer> temp = new ArrayList<Integer>();
for (int j = 0; j < gaborWavelet[0].length; j++) {
sum = gaborWavelet[i][j][m][n][0]/(M * N);
temp.add((int) (sum * 170));
}
mags.add(temp);
}
}
}
System.out.println(mags.get(200));
System.out.println(mags.get(0));
如果上面是你的意思,我在這裏得到了同樣的問題。
2D ArrayList中創建
ArrayList
是一個代碼味道恕我直言 – Bohemian的'的for(int我..)'循環裏創建'temp' ArrayList的實例。在不同的說明中,4個嵌套循環!? – Rakesh
ArrayList.clear()。如果這不能回答你的問題,你的問題是什麼? – EJP