如何检查ArrayList <integer>是否在android </integer>中插入和删除

时间:2012-11-01 04:51:23

标签: android arraylist

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

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

1 个答案:

答案 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