我试图了解哈希图是如何工作的,而且我正在摆弄一个小型的电话簿程序。
但是当我想要打印出所有按键时,我很难做什么。
这是我的代码:
import java.util.HashMap;
import java.util.*;
public class MapTester
{
private HashMap<String, String> phoneBook;
public MapTester(){
phoneBook = new HashMap<String, String>();
}
public void enterNumber(String name, String number){
phoneBook.put(name, number);
}
public void printAll(){
//This is where I want to print all. I've been trying with iterator and foreach, but I can't get em to work
}
public void lookUpNumber(String name){
System.out.println(phoneBook.get(name));
}
}
答案 0 :(得分:6)
我们走了:
System.out.println(phoneBook.keySet());
这将使用Set.toString()方法在Map中打印出一组键。例如:
["a","b"]
答案 1 :(得分:0)
地图有一个名为KeySet的方法,包含所有键。
Set<K> keySet();
答案 2 :(得分:0)
您需要从keySet
获取hashMap
并使用例如foreach
进行迭代一个keys
循环。这样您就可以获得values
,然后可以使用import java.util.*;
public class MapTester
{
private HashMap<String, String> phoneBook;
public MapTester()
{
phoneBook = new HashMap<String, String>();
}
public void enterNumber(String name, String number)
{
phoneBook.put(name, number);
}
public void printAll()
{
for (String variableName : phoneBook.keySet())
{
String variableKey = variableName;
String variableValue = phoneBook.get(variableName);
System.out.println("Name: " + variableKey);
System.out.println("Number: " + variableValue);
}
}
public void lookUpNumber(String name)
{
System.out.println(phoneBook.get(name));
}
public static void main(String[] args)
{
MapTester tester = new MapTester();
tester.enterNumber("A name", "A number");
tester.enterNumber("Another name", "Another number");
tester.printAll();
}
}
将{{1}}从地图中删除。
{{1}}