import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
class Solution{
public static void main(String []argh){
Map<String,String> phoneBook =new HashMap<String,String>();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i = 0; i < n; i++){
String name = in.next();
String phone = in.next();
phoneBook.put(name,phone);
}
System.out.println("now search");
while(in.hasNext()){
String s = in.next();
for(Map.Entry<String,String> e : phoneBook.entrySet() )
{
e.getKey();
if(name1==s)
{
System.out.println(e.getKey()+" : "+e.getValue());
}
else
{
System.out.println("Not found");
}
}
}
in.close();
*
}
}*
我要做的是在字典中输入一些值,然后搜索字典中是否有特定的字符串...它正在工作,但是由于超时我终止了。有更好的方法吗?
答案 0 :(得分:1)
这是一个散列映射,因此您将使用其功能而不是逐个迭代键。
尝试:
while(in.hasNext()){
String s = in.next();
String value = phonebook.get(s);
if(value!=null)
{
System.out.println(s+" : "+value);
}
else
{
System.out.println("Not found");
}
}