facebook twitter hatena line email

「Android/配列」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(java.util.ConcurrentModificationExceptionが起こる場合)
 
行13: 行13:
  
 
==java.util.ConcurrentModificationExceptionが起こる場合==
 
==java.util.ConcurrentModificationExceptionが起こる場合==
 +
配列ループ中に中のデータを1つ削除した場合などにおこる
 
  for (String name : names) {
 
  for (String name : names) {
 
     if (name == (String) tempname) {
 
     if (name == (String) tempname) {
行18: 行19:
 
     }
 
     }
 
  }
 
  }
このようなことをすると起こる。以下のように対応する
+
以下のように対応する
 
  for (String name : names) {
 
  for (String name : names) {
 
     if (name == (String) tempname) {
 
     if (name == (String) tempname) {

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;
    }
}