「Android/配列」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==iterator== ArrayList<String> animals = new ArrayList<String>(); animals.add("ねこ"); animals.add("いぬ"); animals.add("ぞう");...」) |
(→java.util.ConcurrentModificationExceptionが起こる場合) |
||
| (同じ利用者による、間の3版が非表示) | |||
| 行1: | 行1: | ||
| + | [[java/連想配列]] [ショートカット] | ||
| + | |||
==iterator== | ==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; | ||
| + | } | ||
| + | } | ||
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;
}
}
