gpt4 book ai didi

java - 正确清除 java arraylist

转载 作者:行者123 更新时间:2023-12-02 06:14:44 24 4
gpt4 key购买 nike

我正在尝试从 2d 数组创建 2d ArrayList。实际上我有一个临时 ArrayList,我在 for 循环中将其解析为我的 2d ArrayList。我试图找到清除此临时 ArrayList 的正确方法,以便每次都将正确的值传递给 mags 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 被传入临时 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));

如果以上是您的意思,我在这里遇到了同样的问题。

最佳答案

而不是 temp.clear()temp = new ArrayList() 。您在 mags 中的代码将多次添加同一个 ArrayList。

并阅读this post关于如何创建ArrayList来自数组

关于java - 正确清除 java arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com