1. MAP
map就像一个"口袋",里面装的都是键值对,键值对就是有键名和与之对应的键名,一一对应,互不干扰。
map.put("草稿数量", 1);
map.put("驳回稿件数量", 2);
map.put("待发布稿件数量", 3);
map.put("待审核稿件数量", 4);
map.put("已发布稿件数量", 5);
上面的map"口袋"里面装了五个键值对,键名就是"草稿数量",与"草稿数量"这个键名对应的键值就是1。
put方法是将键值对放入map"口袋"中,取出键值则是用get方法。map.get("键名")就能得到与之对应的键值。
例:map.get("草稿数量")得到的键值就是1。
我们经常在map中put键值对后,将这个map放到一个list中,比如list.add(map)。
一个list中一般也是存在多个map。
2. ENTRY
entry是map中一个很有用的接口,
有时前台要求后天将map中的所有的键名都放到字段"name"中,
并将与之对应的键值按照顺序依次放到字段"value"中,这时候用map.value就很方便。如下:
for (Map.Entry<String, Object> entry : map.entrySet()) {
Map<String, Object> map1 = new HashMap<>();
map1.put("name", entry.getKey());
map1.put("value", entry.getValue());
list.add(map);
}
得到的结果如下:
data":[{"name":"草稿数量","value":1},{"name":"驳回稿件数量","value":2},
{"name":"待发布稿件数量","value":3},{"name":"待审核稿件数量","value":4},
{"name":"已发布稿件数量","value":5}]}
3.for()遍历
在上面1.MAP中,我们已经说过一个list中一般也是存在多个map,那我们要如何从这个list中取出map对象呢?
这就需要用到for()遍历,如下:
for (Map<String, Object> map1 : list) {
Map<String, Object> map2 = new HashMap<>();
map2.put("draftNum", map.get("草稿数量"));
map2.put("returnNum", map.get("驳回稿件数量"));
map2.put("waitPublishNum", map.get("待发布稿件数量"));
map2.put("waitCheckNum", map.get("待审核稿件数量"));
map2.put("havePublishedNum", map.get("已发布稿件数量"));
list2.add(map2);
}
上面就用map1遍历了list中的每一个map,然后将map中我们需要的值取出赋予map2,再将map2放在list2中。
(在这我们仅是为了演示方便,通常我们得到list时,list是经过各种查询条件的包含各种map的集合)