java - 如何声明和初始化包含 HashSet 的 HashMap

标签 java hashmap initialization declaration hashset

我正在尝试读取包含一个字符串作为键和一个集合作为值的 Map,我应该怎么做?这就是我得到的。

/**
 * A Class
 */
public class Catalog
{  
   private HashMap <String , Set<String> varieties> aCatalog;

   /**
    * Constructor for objects of class Catalog
    */
   public Catalog()
   {
      // initialise instance variables
      varieties = new HashSet<>();
      aCatalog = new HashMap<String,varieties>();
   }
}

这行不通,我查看了一些类似的问题,但找不到解决方案。

谢谢大家的帮助!

最佳答案

要初始化您的 map ,您只需定义通用类型:

aCatalog = new HashMap<String, Set<String>>();

自 java 1.7 起,您可以使用菱形运算符:

aCatalog = new HashMap<>();

要将值放入 map 中,您需要初始化一个集合:

aCatalog.put("theKey", varieties);

关于java - 如何声明和初始化包含 HashSet 的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44308334/

相关文章:

c++ - 变量初始化和构造函数

java - 如何在 Java 中处理 XML 从 xml 数据库检索数据

java - 为什么在基于注释的 Spring 应用程序中 @Value 默认值被解析为 null?

java - 在 Java 中使用具有枚举类型的元组作为 HashMap 的键

java - 多线程环境下的 HashMap 和哈希表

swift - 为什么 NSURL 上的这个可失败初始化器(采用可选字符串)无法编译?

java - 如何在 Java EE 中注入(inject)外部定义的类

java - Java8流的 "merge"元素有可能吗?

java - 哪个哈希码 HashMap 实现用于值检索

C - 检查是否分配了 Integer