2016-04-09 7 views
-3
public class StackOverFlow{ 
    ArrayList x = new ArrayList<String>(); 
    x.add("nice"); 
    y = "wew"; 

    if(x.remove.equals(y)) 
     x.remove(0); 
} 

上記のコードは一例です。if文で.removeを使用すると、内容が削除されますか?

ifステートメントの中の要素が既に削除されているため、このコードの結果はxIndexOutofBoundsExceptionになりますか?

+1

私はあなたが 'を意味すると仮定した場合(x.remove(0).equals(Y)))' –

答えて

1

はい、removeを呼び出すたびにListにオブジェクトが削除されますが、どこから呼び出しても問題ありません。

1

ArrayListには2種類の削除関数があります。リストから削除したいオブジェクトのコピーを持っている場合は、それを引数としてremove関数自体に渡すことができます。 JAVA7-ArrayList-Ref

例:

x.remove(y) // returns a boolean value true when the first occurrence of object y is remove from list x 
関連する問題