Temp ArrayList to master ArrayList with boolean &&



我希望遍历三个列表(长度相同(,获取指定索引处的值,并将它们与主列表进行比较。对于尚未在主列表中的值,请附加新值。

但是,我的布尔值和语句永远不会通过。

FloatList master_X = new FloatList();
FloatList master_Y = new FloatList();
FloatList master_Z = new FloatList();
FloatList t_x = new FloatList();
FloatList t_y = new FloatList();
FloatList t_z = new FloatList();
FloatList checkedX = new FloatList();
FloatList checkedY = new FloatList();
FloatList checkedZ = new FloatList();

void tempToMaster(){
for(int i = 0; i < t_x.size();i++){
float x_t = (float)t_x.get(i);
float y_t = (float)t_y.get(i);
float z_t = (float)t_z.get(i);
for(int j = 0; j < master_X.size();j++){
float x_s = (float)master_X.get(j);
float y_s = (float)master_Y.get(j);
float z_s = (float)master_Z.get(j);
if ((x_t != x_s)&&(y_t != y_s)&&(z_t != z_s)){
print("helloWorld");
checkedX.append(x_t);
checkedY.append(y_t);
checkedZ.append(z_t);
}
}
}
for(int i = 0; i < checkedX.size();i++){
master_X.append(checkedX.get(i));
master_Y.append(checkedY.get(i));
master_Z.append(checkedZ.get(i));
}
checkedX.clear();
checkedY.clear();
checkedZ.clear();
t_x.clear();
t_y.clear();
t_z.clear();

}

应该打印"Hello World",并将临时数组列表中的值附加到"选中的"数组列表。

布尔运算永远不起作用。

我检查了代码,它有效,但你必须确保列表不为空。 这是因为,当 masterX 为空时,masterX.size(( 为 0。

因此,for 循环甚至不会启动,因为 0 不小于 0,并且不会向选中的列表添加任何内容。

此代码:

master_X.append(0);
master_Y.append(0);
master_Z.append(0);
t_x.append(1);
t_y.append(1);
t_z.append(1);
tempToMaster();

给出预期的结果。

如果希望它与空主列表一起使用,则首先将所有临时列表添加到选中的列表中,然后删除主列表中的所有浮点数应该可以工作。

编辑:您可能还想查看hasValue((以检查列表是否包含特定的浮点数。

相关内容

最新更新