java - 使用 HashMap 添加、删除和查找

标签 java hashmap

您好,我正在使用 HashMap 添加、查找和删除客户。我希望他们分在不同的类(class),以使用分而治之的概念,但我未能找到并删除客户。我什至建议循环 findCustomer 来检索所有详细信息。

  public static void addCustomer(){
       // Customers
    Map<String, Customer> customers = new HashMap<> ();
    customers.put ("ID1", new Customer ("Jonathan", "Mifsud", "Test Address", 21345678, "L001"));
    customers.put ("ID2", new Customer ("David", "Aguis", "2nd Address", 21456778, "L002"));
    customers.put ("ID3", new Customer ("Frank", "Mamo", "example Address", 21987653, "L003"));
  }

  public static void findCustomer(){
      //retrieve Customer Details
    System.out.println("Customer with ID1 is " + customers.get("ID1"));
  }

  public static void deleteCustomer(){
      //remove Customer Details
    System.out.println("Customer Deleted is ID3 " + customers.remove("ID3"));
  }  

最佳答案

您的 map 声明放错了位置,目前对 findCustomerdeleteCustomer 方法不可见。这2个方法没有编译错误吗?

您应该将其声明为 3 个方法上方的字段,如下所示:

  private static Map<String, Customer> customers = new HashMap<> ();

  public static void addCustomer(){
       // Customers
    customers.put ("ID1", new Customer ("Jonathan", "Mifsud", "Test Address", 21345678, "L001"));
    customers.put ("ID2", new Customer ("David", "Aguis", "2nd Address", 21456778, "L002"));
    customers.put ("ID3", new Customer ("Frank", "Mamo", "example Address", 21987653, "L003"));
  }

  public static void findCustomer(){
      //retrieve Customer Details
    System.out.println("Customer with ID1 is " + customers.get("ID1"));
  }

  public static void deleteCustomer(){
      //remove Customer Details
    System.out.println("Customer Deleted is ID3 " + customers.remove("ID3"));
  }  

另外,请注意,将所有内容都静态化可能并不明智,尤其是当您开始使用状态时。

关于java - 使用 HashMap 添加、删除和查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133900/

相关文章:

java - 如何用相同的键java对hashmap值求和

java - 在 HashMap 中将 float[] 转换为 double[]

java - Apache Geode 在 Java 应用程序内部启动定位器和服务器

java - 如何在数组中搜索并从方法返回?

java - 如何从 Jython 脚本调用 C 函数?

java - 如何将字符串解析为映射,使用java从文件位置读取的字符串

android - 关于Adapter类如何从HashMap获取key和value

java - Eclipse插件中是否需要配置资源

java - Android AsyncTask 通过http请求内存不足

Java:压缩一个 HashMap(类似于 ArrayList#trimToSize)