Wie kann ich meine Liste ausdrucken, um alle Schlüssel auszudrucken, die aktuell in meiner HashMap-Person gespeichert sind, um Personen an ihre Adressen zu senden.
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);
}
}
}
Dies ist, was ich bisher versucht habe und weiß, dass ich die keySet-Methode verwenden muss, aber ich bin nicht sicher, wie ich sie anwenden soll.
Antworten:
1 für die Antwort № 1Sie können eines der folgenden verwenden
1) Verwenden Sie die Schlüsselsatz
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);
}
oder benutze die Hashmap Werte Diese Methode gibt eine Sammlungsansicht der in der Karte enthaltenen Werte zurück
for (String value : addressBook.values()) {
System.out.println("value=" + value);
}
oder drucken Sie direkt die zurückgegebene Sammlung aus Werte verwenden Arrays
System.out.println("addressBook.values =" + Arrays.asList(addressBook.values()));
2 für die Antwort № 2
for (Map.Entry<String, String> entry : addressBook .entrySet()) {
System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());
}
oder
Set<String> keys = addressBook.keySet(); // for key set
Iterator iterator=keys.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
1 für die Antwort № 3
Eine Hashmap hat eine Methode keySet was einen Satz Schlüssel zurückgibt
http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#keySet()
In Ihrem Fall
Set<String> keys = addressBook.keySet();
for (String key : keys) {
System.out.println (key);
}
0 für die Antwort № 4
Sie müssen alle Schlüssel Ihres Schlüssels durchlaufen phoneBook
und erhalten ihre entsprechende Adresse von der addressBook
.
for (String key : phoneBook.keySet()) {
System.out.println("name=" + key + ", address=" + addressBook.get(key));
}