facebook twitter hatena line email

「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>();
+
ArrayList<String> animals = new ArrayList<String>();
        animals.add("ねこ");
+
animals.add("ねこ");
        animals.add("いぬ");
+
animals.add("いぬ");
        animals.add("ぞう");
+
animals.add("ぞう");
        Iterator<String> i = animals.iterator();
+
Iterator<String> i = animals.iterator();
        while(i.hasNext()) {
+
while(i.hasNext()) {
            Log.i("test", (String)i.next());
+
    Log.i("test", (String)i.next());
        }
+
}
        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;
    }
}