我的任务是在HashMap中实现联系人列表。除了以下代码中的问题外,一切顺利。 HashMap方法put(K key,V value)不接受已定义的参数String,List。
public class ContactList(){ // this is the class
private HashMap<String, List<String>> map; // private HashMap field
public void update(String name, List<String> number){ //method I'm having trouble with
this.map.remove(name);
this.map.put(name, number) // HashMap method, main problem.
}
}
错误是:
The method put(String, List<String>) is undefined for the type ContactList
我该如何纠正?
答案 0 :(得分:8)
您正在尝试在Constructor中调用和定义类变量。而且你在同一个构造函数中编写方法更新也是错误的。
试试这个。
public class ContactList{
private Map<String,List<String>> map;
public ContactList(){
map = new HashMap<String,List<String>>();
String contactName = "Shyama Bhattacharya";
List<String> constactAddress = new ArrayList<String>();
contactAddress.add("Parker Colony");
contactAddress.add("Banglaru");
update(contactName,contactAddress);
}
public void update(String contactName,List<String> contactAddress){
map.put(contactName,contactAddress);
}
}
这绝对有用!!
答案 1 :(得分:0)
错误表明put(String, List<String>)
中没有方法ContactList
。从我所看到的,确实没有。但是你确实有一个方法public void update(String name, List<String> number)
。因此,要么调用update
,要么将update
重命名为put