Code Fix

中級 › ConcurrentModificationException の原因と直し方 › パターン5

ConcurrentModificationException の原因と直し方

ループ中のリスト変更で発生します。

 1  import java.util.HashMap;
 2  import java.util.Map;
 3  
 4  public class Main {
 5      public static void main(String[] args) {
 6          Map<String, Integer> m = new HashMap<>();
 7          m.put("a", 1);
 8          m.put("b", 2);
 9          for (String k : m.keySet()) {
10              ________________
                        ^
11          }
12          System.out.println(m);
13      }
14  }
Exception in thread "main" java.util.ConcurrentModificationExceptionexited with code 1

空欄を埋めてビルドを通す

広告
広告スロット(未設定)

ConcurrentModificationException の原因と直し方

removeIf、Iterator、逆順ループの3つの解法を比較します。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)