JavaでListを削除する際の注意点
Java で LIST を削除する場合、通常は list.remove(o) が使用されますが、これにより問題が発生することがよくあります。まず次のコードを見てみましょう。
返される結果は次のとおりです。これは明らかに期待したものではありません。リスト内のインデックス 2 を持つ要素をすべて削除したいのですが、出力結果には 2 が表示されます。これは、i が 1 の場合、リスト内のインデックス 1 を持つ要素 2 が削除されたためです。 . 、このときのリストは[1,2,3]ですが、iをインクリメントすると2になります。list.get(i)すると取り出した結果は3になります。リスト要素 削除すると、それに応じてインデックスが変更されます。 したがって、イテレータの作成後に、元のオブジェクトへの単一のポインタが変更されない反復メソッドを見つける必要があります。リンクされたインデックス テーブルが作成されると、元のオブジェクトの数が変化しても、このインデックス テーブルの内容は同期的に変更されません。つまり、このインデックス テーブルを維持するためにカーソルが使用されるため、次のように削除できます:package com.demo; import java.util.ArrayList; import java.util.List; public class Test11 { public void delete(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(2); list.add(3); for (int i = 0; i < list.size(); i++) { if(list.get(i)==2){ list.remove(i); } } this.outputList(list); } private void outputList(List<Integer> list){ for (Integer i : list) { System.out.println(i); } } public static void main(String[] args) { Test11 t = new Test11(); t.delete(); } }
このコードの結果 そうです! イテレータ内で削除したのに、なぜリストの値が変わってしまったのかと言う人もいるかもしれません。この問題については自分で考えてください。分からないなら転職も可能です! 概要上記がこの記事の全内容です。この記事の内容が皆さんの学習や仕事に少しでも役立つことを願っています。ご質問がある場合は、メッセージを残して連絡してください。 Java でリストを削除する際の注意点に関する関連記事は、PHP 中国語 Web サイトをご覧ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

intellijideaultimatiateバージョンを使用してスプリングを開始します...

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

データベースクエリにTKMYBATISを使用する場合、クエリ条件を構築するためにエンティティクラスの変数名を優雅に取得する方法は一般的な問題です。この記事はピン留めします...

eコマースプラットフォーム上のSKUおよびSPUテーブルの設計の詳細な説明この記事では、eコマースプラットフォームでのSKUとSPUのデータベース設計の問題、特にユーザー定義の販売を扱う方法について説明します。
