テストしてみたらConcurrentModificationExceptiontoなるエラーが発生。わけわからずしらべていくとどうやらIteratorの原因。このプログラムはSortedMapData(Mapオブジェクト)を持ち回りデーターを追加、削除を一連の流れで起こっているため、同期がとれずエラーになったらしいとのこと。
解決法をまたググってみるとIteratorを使わずFor文で解決できるとか。
ただし、処理上Map型のキーを操作したいためちょと悩む。(-_-)
とりえあえずkeySetのSetインターフェイスはCollectionをスーパーインターフェイスとして持つのでListに変換してみました。
/**** 修正前 ****/
Set keyset = SortedMapData.keySet();
Iterator i = keyset.iterator();
while(i.hasNext()){
String key = (String)i.next();
/* keyを使った処理 */
}
/**** 修正後 ****/
Set keyset =SortedMapData.keySet();
List list = new ArrayList(keyset);
//Listに変換
for(int i=0; i < list.size(); i++){
String key = (String)list.get(i);
/* keyを使った処理 */
}
これでいけたかな?