0

私はArrayListを「deletedPositions」として持っていて、Valueをその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 に答える