- ベストアンサー
MapからListへ
どなたか教えてください。 Mapからあるvalueの値のkeyの値をListへ追加していきたいのですがどのようにしたらよいでしょうか? testmap.put(1,TEST1) testmap.put(2,TEST2) testmap.put(3,TEST1) ・ ・ ・ testmapのvalue値「TEST1」のkey1、3をListへ追加したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
mapに格納したkeyがInteger型たとすると、 int n = list.size(); for(int i = 0 ; i < n ; i++){ Object oKey = list.get(i); Integer key = (Integer)oKey; int nkey = key.intValue(); System.out.println(nKey); } こんな感じです。 わざと長く書きましたが、 int nKey = ((Integer)list.get(i)).intValue(); でも可能です。
その他の回答 (1)
- ngsvx
- ベストアンサー率49% (157/315)
ズバッとコードを示します。 public List function(Object value){ List list = new ArrayList(); Set keyset = map.keySet(); Iterator it = keyset.iterator(); while(it.hasNext()){ Object key = it.next(); Object v = map.get(key); if(v.equals(value)){ list.add(key); } } return list; }
補足
ありがとうございました!! もう1点質問させてください。 list.add(key); このObject型のkeyをint型に変換して使いたいのですがどのようにしたらいいでしょうか?
お礼
詳しく教えていただき、ありがとうございました!!