- 締切済み
ListからMapを作成 MapのValueにはListをput
すみません、どなたか教えて下さい。 あるListからMapを作成したく、同じkeyが存在する場合、valueのListへ値を追加したいですのですがConcurrentModificationExceptionエラーが返されてしまいます。エラーを返さないように変数を使い分け工夫したつもりですが。。。((1)でmapAにもaddされている!?)他に良い方法はないでしょうか? Map mapA = new TreeMap(); Map mapB = new TreeMap(); Iterator it = listA.iterator(); while (it.hasNext()) { Bean bean = (Bean)it.next(); List mapvaluelist = new ArrayList(); if (mapA.size()==0){ mapvaluelist.add(bean); mapA.put(bean.getName(),mapvaluelist); }else{ if (mapB.size()!=0){ mapA = mapB; } Set keyset = mapA.keySet(); Iterator itmap = keyset.iterator(); while (itmap.hasNext()){ String mapkey = (String)itmap.next(); if (bean.getName().equals(mapkey)){ mapvaluelist = (List)mapA.get(mapkey); mapvaluelist.add(bean); mapB.put(bean.getName(),mapvaluelist); (1) }else{ mapvaluelist.clear(); mapvaluelist.add(bean); mapB.put(bean.getName(),mapvaluelist); } } } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
関連するQ&A
- MFC-J7600CDW印刷罫線文字ずれに関するトラブルの解決方法を探しています。
- B5・A4のプリント、コピーをすると罫線や文字がずれる問題が発生しています。
- Windows11で有線LAN接続し、ひかり回線を使用しています。
お礼
アドバイスありがとうございました。 Mapがよくわかっていなかったようです。もう一度勉強しなおします・・・。