Map<String, Object> map=new HashMap<String, Object>();
HashMap你可以理解成是一对对数据的集合我暂时把List 改成String 你方便理解
Map<String, String> map=new HashMap<String,String>(),
map.put(key,value);
key可以理解成房子 value 可以理解成 住户名(这儿假设一个大学宿舍只能住一个人)
map.put("S301","张三");
那就是说S301 这个房间 只有 张三这么个住户
map.put("S301","张三");
map.put("S301","李四");
那只保留map.put("S301","李四"); 因为只能住一个 张三被赶出来了
Productlist.get(key); 就是根据房间号 获取对应的住户名
然后执行 String sss=map.get("S301");
以后 sss="李四"
实际上 key 和value 可以是任何对象 这儿只是拿string 举例 现在改回来Map<String, List> map=new HashMap<String,List>(),
List就是一个数据列表 你现在而已理解成 一个名字的列表List<String> list = new LinkedList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
然后 我们假设S301是个大学宿舍 能住很多人
list就是名字列表map.put("S301",list);
那样的话 就能储存S301所有住户的名字了同样 可以保存 所有宿舍楼的信息
map.put("S302",list1);
map.put("S303",list2);
java中map集合用于存储键值对,即key-value,String字符串这里充当key键,List表这里是value值。
Java Map 集合类简介:
Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(“键”和“值”),其中每个键映射到一个值。从概念上而言,可以将 List 看作是具有数值键的 Map。
查看 Map:
迭代 Map 中的元素不存在直接了当的方法。如果要查询某个 Map 以了解其哪些元素满足特定查询,或如果要迭代其所有元素(无论原因如何),则您首先需要获取该 Map 的“视图”。有三种可能的视图。
所有键值对 — 参见 entrySet()
所有键 — 参见 keySet()
有值 — 参见 values()
访问元素:
Map 通常适合按键(而非按值)进行访问。Map 定义中没有规定这肯定是真的,但通常可以期望这是真的。例如,可以期望 containsKey() 方法与 get() 方法一样快。另一方面,containsValue() 方法很可能需要扫描 Map 中的值,因此它的速度可能比较慢。
前两个视图均返回 Set 对象,第三个视图返回 Collection 对象。就这两种情况而言,问题到这里并没有结束,这是因为无法直接迭代 Collection 对象或 Set 对象。要进行迭代,必须获得一个 Iterator 对象。因此,要迭代 Map 的元素,必须进行比较烦琐的编码