Java でリスト要素を削除する方法は次のとおりです:
1. 正順の削除
正順に削除します。最大 1 つの要素を削除する場合は、削除後に Break ステートメントを使用してループから抜け出すだけで済みます。複数の要素を削除する必要がある場合、現在のリストのサイズとインデックスの制御に注意を払わない場合次の要素では、java.lang.IndexOutOfBoundsException 例外を簡単に報告できます
public static void remove(List<String> list, String target) { for(int i = 0, length = list.size(); i < length; i++){ String item = list.get(i); if(target.equals(item)){ list.remove(item); length--; i--; } } }
無料の学習ビデオ チュートリアルの推奨事項: Java ビデオ チュートリアル
2. 逆削除
逆削除は前方削除を克服できますリスト サイズと次の要素のインデックスの追加管理が必要になるという問題も、
public static void remove(List<String> list, String target) { for(int i = list.size() - 1; i >= 0; i--){ String item = list.get(i); if(target.equals(item)){ list.remove(item); } } }
public static void remove(List<String> list, String target) { Iterator<String> iter = list.iterator(); while (iter.hasNext()) { String item = iter.next(); if (item.equals(target)) { iter.remove(); } } }
public static List<String> remove(ArrayList<String> list, String target) { CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<String>(list); for (String item : cowList) { if (item.equals(target)) { cowList.remove(item); } } return cowList; }
public static void remove(List<String> list, String target) { for (String item : list) { if (item.equals(target)) { list.remove(item); break; } } }
List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("*"); list.add("c"); list.add("*"); List<String> result = list .stream() .filter(item -> !"*".equals(item)) .collect(Collectors.toList());
以上がJavaでリスト要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。