アフィリエイト広告を利用しています

2019年01月18日

JAVA ループ内でリストの要素を削除する

forループ内で該当する値を削除する(removeする)と下記が発生する。
(リストを削除しつつlistの要素をgetしょうとすると下記が発生する。)
  「java.util.ConcurrentModificationException」

この場合、for文ではなくwhile文を利用する。

【Ex.】 valueの要素値が2の場合、その要素を削除する。
public static void main(String[] args) {
 int ransu = 99;
 ArrayList<Integer> value = new ArrayList<Integer>();
 while(0 != ransu){
  ransu = (int)(Math.random()*11);
  System.out.println("0〜10の値を出力:" + ransu);
  value.add(ransu);
 }
↑ まずは、0から10までの乱数を取得(※0が出たら乱数取得を終了)

■list.remove(Object o)メソッドを使う場合
 while(value.remove((Integer)2)){}

■iterator(イテレータ)を使う場合
 Iterator itr = value.iterator();
 while(itr.hasNext()){
  Integer i = (Integer)itr.next();
  if(2 == i){
   itr.remove();
  }


※その他、後でまとめてremoveAllする方法でもよい。
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/8482111
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
その買うを、もっとハッピーに。|ハピタス
\ハピタスの紹介キャンペーンです/
⇒登録後に行う「ハピタス検定」の答えはこちら

※ハピタスをもっと知りたいかたは他で検索してみてください

ブログ内を検索
ファン
カテゴリ
よく倒されますが、へこたれながら起き上がるSEの備忘録です

Windows(20)
SQL(1)
JAVA(4)
VBScript(14)
VBA(15)
Other(14)
書籍(1)
記事ランキング
  1. 1. 確率の収束に必要な試行回数
  2. 2. no img Tera Term(テラターム) 覚えておくと便利なコマンド一覧
  3. 3. no img VBScript マウスポインタを自動的に移動させクリックするスクリプト
  4. 4. no img Windows ディスク使用率100%を改善させる
  5. 5. VBScript タスクスケジューラのメッセージを最前面に表示するスクリプト
広告
会員登録せずに無料で読める!! 漫画読み放題のサービス

動画編集・YouTuberを始めたい方向け 無料動画編集ソフト

クラウド型レンタルサーバー クラウド型レンタルサーバー

Amazonで購入する
※Amazonのアソシエイトとして、七転八起SEの備忘録は適格販売により収入を得ています。

メンタルヘルス・マネジメント検定試験II種ラインケアコース過去問題集_2023年度版
メンタルヘルス・マネジメント検定試験II種 過去問題集〈2023年度版〉