代码之家  ›  专栏  ›  技术社区  ›  Anjali

在java中创建hashMap[duplicate]

  •  -1
  • Anjali  · 技术社区  · 7 年前

    package domain;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class AumentumDocTypeMap {
      private HashMap<String, String> DocTypeMap = new HashMap<String, String>();
      DocTypeMap.put("7000690", "691");
    
      public HashMap<String, String> getTypeMap() {
           return DocTypeMap;
      }
    }
    

    2 回复  |  直到 7 年前
        1
  •  3
  •   John Humphreys    7 年前

    put 在方法中调用,而不是在类主体中调用。

    package domain;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class AumentumDocTypeMap {
      private Map<String, String> docTypeMap;
    
      public AumentumDocTypeMap() {
          docTypeMap = new HashMap<String, String>();
          docTypeMap.put("7000690", "691");
      }
    
      public HashMap<String, String> getTypeMap() {
           return docTypeMap;
      }
    }
    

    另外,变量名中的小写首字母是标准的:)。尽管第一个字母大写并不会破坏任何东西。

    还要注意,我将哈希映射创建移到了构造函数内部。一般来说,应该避免在声明对象的地方初始化对象,而是在构造函数(或静态初始值设定项块-您可以用google搜索)中进行初始化。

    同样-正如@Maxim在注释中指出的,您应该创建map变量的类型 Map<String, String> 因为它允许您将实现从散列映射更改为链接的散列映射或树映射。

        2
  •  1
  •   NehaK    7 年前

    您需要在任何方法中输入值。如果您想要这个值,那么首先将其放入构造函数中:

    public class AumentumDocTypeMap {
        private HashMap<String, String> DocTypeMap = new HashMap<String, String>();
    
        // Constructor
        public AumentumDocTypeMap(){
            DocTypeMap.put("7000690","691");
        }
    
        public HashMap<String, String> getTypeMap() {
            return DocTypeMap;
        }
    }