-1

HashMap に現在保存されているすべてのキーを一覧表示して、そのアドレスにマッピングする方法を教えてください。

import java.util.HashMap;

public class MapTester
{
private HashMap<String, String> addressBook = new HashMap<String, String> ();
private String name;
private String address;

public MapTester()
{
    addressBook.put("Zoe", "9 Applebury Street");
    addressBook.put("Mum", "72 Cherry Tree Drive");
    addressBook.put("Dad", "6 Windsor Avenue");        
}    


/**
 * Input the name and address
 */
public void enterContact(String name, String address)
{       
    addressBook.put(name, address);
}

/**
 * Lookup a contact's name from their address.
 */
public String lookupNumber(String name) 
{          
  name = name;  
  return addressBook.get(name);
}  

public void keySet()
{
   for (String contacts : addressBook)
    {
     System.out.println(contacts);
    }
}
}

これは私がこれまでに試みたものであり、keySet メソッドを使用する必要があることはわかっていますが、それを適用する方法がわかりません。

4

4 に答える 4

2
for (Map.Entry<String, String> entry : addressBook .entrySet()) {
   System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());
}

また

Set<String> keys = addressBook.keySet(); // for key set
Iterator iterator=keys.iterator();
while(iterator.hasNext()) {
  System.out.println(iterator.next());
}
于 2013-12-17T05:05:01.967 に答える
1

次のいずれかを使用できます
1) keySetを使用する

    Set keys = addressBook.keySet();
    for (Iterator i = keys.iterator(); i.hasNext();) {
        String key = (String) i.next();
        String value = (String) addressBook.get(key);
        System.out.println("key=" + key + ", value=" + value);
    }

または、マップに含まれる値の Collection ビューを返すHashmap値メソッドを使用します

    for (String value : addressBook.values()) {
    System.out.println("value=" + value);
    }

または、配列を使用してによって返されたコレクションを直接出力します

    System.out.println("addressBook.values =" + Arrays.asList(addressBook.values()));
于 2013-12-17T05:21:01.987 に答える
1

ハッシュマップには、キーのセットを返すメソッド keySet があります

http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#keySet()

あなたの場合

Set<String> keys = addressBook.keySet();

 for (String key : keys) {
    System.out.println (key);
 }
于 2013-12-17T05:07:35.477 に答える
0

のすべてのキーを繰り返し処理しphoneBook、対応するアドレスを から取得する必要がありますaddressBook

for (String key : phoneBook.keySet()) {
   System.out.println("name=" + key + ", address=" + addressBook.get(key));
}
于 2013-12-17T05:06:41.717 に答える