「Android/配列」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→java.util.ConcurrentModificationExceptionが起こる場合) |
|||
(同じ利用者による、間の2版が非表示) | |||
行1: | 行1: | ||
+ | [[java/連想配列]] [ショートカット] | ||
+ | |||
==iterator== | ==iterator== | ||
ArrayList<String> animals = new ArrayList<String>(); | ArrayList<String> animals = new ArrayList<String>(); | ||
行9: | 行11: | ||
} | } | ||
Log.i("test", "count=" + animals.size()); // 3 | Log.i("test", "count=" + animals.size()); // 3 | ||
+ | |||
+ | ==java.util.ConcurrentModificationExceptionが起こる場合== | ||
+ | 配列ループ中に中のデータを1つ削除した場合などにおこる | ||
+ | for (String name : names) { | ||
+ | if (name == (String) tempname) { | ||
+ | names.remove(name); | ||
+ | } | ||
+ | } | ||
+ | 以下のように対応する | ||
+ | for (String name : names) { | ||
+ | if (name == (String) tempname) { | ||
+ | names.remove(name); | ||
+ | break; | ||
+ | } | ||
+ | } |
2018年12月14日 (金) 12:49時点における最新版
java/連想配列 [ショートカット]
iterator
ArrayList<String> animals = new ArrayList<String>(); animals.add("ねこ"); animals.add("いぬ"); animals.add("ぞう"); Iterator<String> i = animals.iterator(); while(i.hasNext()) { Log.i("test", (String)i.next()); } Log.i("test", "count=" + animals.size()); // 3
java.util.ConcurrentModificationExceptionが起こる場合
配列ループ中に中のデータを1つ削除した場合などにおこる
for (String name : names) { if (name == (String) tempname) { names.remove(name); } }
以下のように対応する
for (String name : names) { if (name == (String) tempname) { names.remove(name); break; } }