有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将Map的值内部设置为Map类型

我有一节课

private String patientId;
private String scriptinfo;
private Phone No.;


Now I have the hashMap..
HashMap hm = new HashMap(); 

现在我希望hashmap应该只有一个键,比如说,A是我要传递的键,但是值 又是地图类型的,像这样的东西

hm.put ("A", <<value should be of Map type>>)

在该映射类型值中,我保留了所有信息,如patientId、scriptinfo、电话号码和我想要的患者id 是该地图的关键,请告知如何实现这一点


共 (3) 个答案

  1. # 1 楼答案

    像下面这样设计你的课程

    class MyClass{
    
    private String patientId;
    private String scriptinfo;
    private String phoneNumber;
    }
    

    然后在地图上使用这个

    Map<String, Map<String, MyClass>> hm = new HashMap<String,Map<String,MyClass>>();
    
        Map<String, MyClass> data = new HashMap<String, MyClass>();
        data.put(patientId, new MyClass(patientId,scriptinfo,phoneNumber));
        ...
        hm.put("A", data);
    

    在获取MyClass信息时,您可以使用以下内容

    MyClass mc=hm.get("A").get("patientId");
    
  2. # 2 楼答案

    比如:

    HashMap<String, HashMap<Type1, Type2> hm = new HashMap<>(); 
    HashMap<Type1, Type2> hm2 = new HashMap<>();
    hm2.put(val1, val2);
    hm.put ("A", hm2);
    
  3. # 3 楼答案

    Map<String, Map<String, String>> hm = new HashMap<>();
    
    Map<String, String> data = new HashMap<>();
    data.put("patientId", patientId);
    ...
    hm.put("A", data);