- 締切済み
MAPに関して
以下のように、マップにCLASS_Aのリストのリストを格納しています。 CLASS_A { private int a getter setter } MAP<String,List<List<CLASS_A>>> map = new HashMap<String,List<List<classA>>> キーを元に、マップからリストのリストを取得した場合に CLASS_Aからint aを取得する場合 for List<List<CLASS_A> a : DaoList(Daoの取得結果)) for List<CLASS_A> b : a) b.get() } } でよろしいでしょうか? (2重ループになってしまうので、もっと簡単な取得方法あったら教えてください)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- root139
- ベストアンサー率60% (488/809)
DaoList は下記の様な CLASS_A のリストのリストが値となるマップということでよいでしょうか? Map<String, List<List<CLASS_A>>> DaoList ・・・ また、「CLASS_Aからint aを取得する」というのは、CLASS_A の get() を呼出せば良いと考えてよろしいでしょうか? であれば、DaoList を直接 for の対象にすることは出来ないので、values() で値のコレクションを取り出して、それを for に掛けてやる必要が有り、ループも3重にしてやる必要が有ります。 for (List<List<CLASS_A>> a : DaoList.values()) { for (List<CLASS_A> b : a) { for (CLASS_A c : b) { int result = c.get(); System.out.println(result); } } } 取り出したい CLASS_A オブジェクトに対するマップのキーやリストのインデックスが分かっているなら、Map.get や List.get を使って取出せばよいでしょう。 int result = DaoList.get("hoge").get(2).get(3).get();