HashMap<Integer,String> map = new HashMap<Integer,String>();
map.put(0, "ぜろ");
map.put(3, "さん");
このkeyを取り出すにはどうしたら良いでしょうか?
map.get(0)で
ぜろ
が取り出せますが
valueではなくkeyを取り出したいのです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
具体的にどう使えば良い
以下で取り出せています
LinkedHashMapにしないと順番には取り出せません・・・
java
1import java.util.*; 2 3class XC{ 4 5public static void main(String[] args){ 6 7LinkedHashMap<Integer,String> map = new LinkedHashMap<Integer, String>(); 8map.put(0, "ぜろ"); 9map.put(1, "いち"); 10map.put(2, "に"); 11map.put(5, "に"); 12map.put(52, "すに"); 13 14 15for(int t:map.keySet()){ 16 17System.out.println("テストmappu[" + new java.util.Date()+ "]:" + t+":"+map.get(t)); 18 19 20} 21 22} 23 24 25 26}
投稿2016/11/26 08:17

退会済みユーザー
総合スコア0
0
ベストアンサー
map.keySet()で取り出せます。
このメソッドで得られるのはSetという型で、Listと異なりインデックスで要素にアクセスするということができません。
すべての要素について何らかの操作をしたい場合、iterator()メソッドでIteratorを生成して反復処理を行うか、拡張for文で(内部的にIteratorを生成)反復処理をするかなどの方法を取ることになります。
またHashMapのkeySet()メソッドで返されるSetの反復処理では、要素を出す順序について一切の保証がありません。「入れた順」にしたければLinkedHashMapを使う必要がありますし、キーの整数を昇順に並べたいのなら、別のListなどに入れたあとソート処理をかけることになります。
投稿2016/11/26 07:02
編集2016/11/26 15:41総合スコア20675
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/26 12:47
退会済みユーザー
2016/11/26 12:56
2016/11/26 12:57
2016/11/26 13:15