我有一个有多个值的hashmap,它会覆盖相同的键,有什么解决方法吗?这是我的Hashmap
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Jack","John");
meMap.put("Jack","Jacob");
它将覆盖第一个。
答案 0 :(得分:1)
Map是一个Key - Value存储,意味着您可以通过指定其Key来访问Map中的值。所以你会这样做:
meMap.get("Color3");
答案 1 :(得分:1)
您必须将get()
用于单个元素:
Toast.makeText(context, map.get("Color3"), Toast.LENGTH_SHORT).show();
答案 2 :(得分:1)
您可以使用get function:meMap.get("Color3")
;。您可以在此处访问Java中不同的地图方法:
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
答案 3 :(得分:0)
答案 4 :(得分:0)
在HashMap中,一个键不能有多个值。
如果您需要为同一个键存储多个值,那么您应该使用HashMap的地图。
答案 5 :(得分:0)
从您的评论中,您似乎想为单个密钥存储多个值。在这种情况下,您可以将值存储在List中,然后将该列表添加到地图中,如下所示:
HashMap<String, List<String>> meMap=new HashMap<String, List<String>>();
List<String> lst=new ArrayList<String>();//List to store colors
lst.add("Red");
lst.add("Blue");
lst.add("Green");
lst.add("White");
//add the key and list to map
meMap.put("Color",lst);
//to get the value at 3rd position,use get(2),as index starts from 0.
System.out.println(meMap.get("Color").get(2));