4
I持って次の宣言:ArrayListから要素を削除する方が効率的ですか?
ArrayList<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("2");
list.add("3");
list.add("4");
今私の質問です:私は、リストから「2」のSを削除したい場合は、どの方法が良いですか?
最初の方法:
for(int i = 0; i < list.size(); i++) {
if(list.get(i).equals("2")) {
list.remove(i);
i--;
}
}
第二の方法:
Iterator<String> iterator = list.iterator();
while(iterator.hasNext())
if(iterator.next().equals("2"))
iterator.remove();
両方が、より効率的である適切にリコールセーフとされていますか?
IndexOutOfBounds
エラーを発生させずにArrayListから要素を削除する方法はありますか? forループ正常に動作します、あなたの個々の要素については
もう1つはよりクリアです – Jayan
'contains()'メソッドを使用して何らかの条件を課します。 – Lion
リストの途中から効率的に削除したい場合は、 'ArrayList'を使うべきではありません。たぶん 'LinkedList'。 –