0

我将 ArrayList 作为“deletedPositions”,并且我将值传递给该 arrayList,在此之前我想检查该数组中是否存在值,如果是,那么我想删除该值,如果不存在,则在该数组中添加值清单,如何做到这一点?

我尝试使用此代码,但无法得到答案,

        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();
            }
        }
    }

任何人都可以帮助我克服这个..提前谢谢,

4

1 回答 1

1

您必须使用 arraylist.contains 方法来检查元素是否已经存在于 arraylist 中。您不需要 for 循环来运行整个数组列表。使用以下内容:

if(deletedPositions.contains(PositionChecked)) {
    int numIndex = deletedPositions.indexOf(PositionChecked)  
    deletedPositions.remove(numIndex);  
}
else {
    deletedPositions.add(PositionChecked);
} 

您也可以参考以下线程 检查 ArrayList 中是否存在值

于 2012-11-01T05:01:45.790 回答