我将ArrayList作为“deletedPositions”,并且我将Value传递给该arrayList,之前我想检查该数组中是否存在wheather值,如果是,那么我想删除该值,如果不存在,则添加值在那个数组列表中, 这个CAn怎么办?
我尝试使用此代码,但无法得到答案,
if(deletedPositions.isEmpty())
{
deletedPositions.add(PositionChecked);
Toast.makeText(getApplicationContext(), "Is empty ="+this.deletedPositions.size(), 1).show();
}
else
{
for(int i=0;i<deletedPositions.size();i++)
{
if(deletedPositions.get(i) == PositionChecked)
{
deletedPositions.remove(i);
Toast.makeText(getApplicationContext(), "After removeArray ="+this.deletedPositions, 1).show();
}
else
{
deletedPositions.add(PositionChecked);
Toast.makeText(getApplicationContext(), "After Added Array ="+this.deletedPositions, 1).show();
}
}
}
任何人都帮助我克服这个问题.. 提前谢谢,
答案 0 :(得分:1)
您必须使用arraylist.contains方法来检查该元素是否已存在于arraylist中。你不需要for循环来贯穿整个arraylist。使用以下内容:
if(deletedPositions.contains(PositionChecked)) {
int numIndex = deletedPositions.indexOf(PositionChecked)
deletedPositions.remove(numIndex);
}
else {
deletedPositions.add(PositionChecked);
}
您也可以参考以下主题 Check if a value exists in ArrayList