• ベストアンサー

MapからListへ

どなたか教えてください。 Mapからあるvalueの値のkeyの値をListへ追加していきたいのですがどのようにしたらよいでしょうか? testmap.put(1,TEST1) testmap.put(2,TEST2) testmap.put(3,TEST1) ・ ・ ・ testmapのvalue値「TEST1」のkey1、3をListへ追加したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.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(); でも可能です。

user10
質問者

お礼

詳しく教えていただき、ありがとうございました!!

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

ズバッとコードを示します。 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; }

user10
質問者

補足

ありがとうございました!! もう1点質問させてください。 list.add(key); このObject型のkeyをint型に変換して使いたいのですがどのようにしたらいいでしょうか?