哈希映射方法不接受定义的参数



我的任务是在HashMap中实现一个联系人列表。除了下面代码中的问题外,一切都很顺利。HashMap方法put(K键,V值)不接受定义的参数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

我该如何更正?

您正试图在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);
   }
}

这绝对有效!!

错误表明ContactList中没有方法put(String, List<String>)。据我所见,确实没有。但你确实有一个方法public void update(String name, List<String> number)。因此,调用update或将update重命名为put

最新更新