Hashmap方法不接受已定义的参数

时间:2012-03-30 17:03:53

标签: java hashmap

我的任务是在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

我该如何纠正?

2 个答案:

答案 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