我在编码中遇到技术问题。在下面,我定义了向量的向量:
Vector<Vector<Integer>> uSupVec = new Vector<Vector<Integer>>();
Vector<Integer> uSup = new Vector<Integer>();
Boolean isRep = false;
for (int i = 1; i <numSup ; i++) {
uSup.clear();
for (int l = 0; l < i; l++) {
if (supName[i] == supName[l]) {
isRep = true;
}}
if (!isRep){uSup.add(i);}
for (int j = i+1; j < numSup; j++) {
if (supName[i] == supName[j]) {
if (!isRep){uSup.add(j);}
}}
isRep = false;
uSupVec.add((Vector) uSup);
}
我的问题是,每当清除uSup向量时,存储在uSupVec中的所有向量都将被清除。在每次迭代中,我想定义一些整数的向量,然后将其存储在向量的向量中,并清除向量以存储新值,然后再次将其存储在向量的向量中。
最佳答案
修改
uSupVec.add((Vector) uSup);
至
uSupVec.add(new Vector(uSup));