找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 小程序开发 查看内容

【后端】java基础(4.4)java中级基础之集合——Map

作者:模板之家 2018-1-24 16:01 13325人关注

Map虽然也叫集合,但是它却不是Collection的子接口。它的底层结构是链表散列,也就是一个数组结构然后每个数组结构里包含的一个链表。我们平常直接叫它键值(keyvalue)结构。 map的实

Map虽然也叫集合,但是它却不是Collection的子接口。它的底层结构是链表散列,也就是一个数组结构然后每个数组结构里包含的一个链表。我们平常直接叫它“键值(key——value)”结构。
map的实现接口有有不少,比如:
  • HashMap
  • Hashtable
  • TreeMap
  • LinkedHashMap
我们主要来说说最常用的HashMap:
  • 添加元素:put(key,value)
  1. HashMap map = new HashMap<>();
  2. map.put("name", "大妖怪");
  3. map.put("age", "100");
复制代码


  • 查询元素:get(key)
  1. HashMap map = new HashMap<>();
  2. map.put("name", "大妖怪");
  3. map.put("age", "100");
  4. System.out.println(map.get("name"));
  5. System.out.println(map.get("age"));
复制代码


  • 删除元素: remove(key)
  1. HashMap map = new HashMap<>();
  2. map.put("name", "大妖怪");
  3. map.put("age", "100");
  4. System.out.println(map.get("name"));
  5. System.out.println(map.get("age"));
  6. map.remove("age");
  7. System.out.println(map.get("name"));
  8. System.out.println(map.get("age"));
复制代码


  • 修改元素: put(已存在的key,新的value)
  1. HashMap map = new HashMap<>();
  2. map.put("name", "大妖怪");
  3. map.put("age", "100");
  4. System.out.println(map.get("name"));
  5. System.out.println(map.get("age"));
  6. map.put("age","101");
  7. System.out.println(map.get("name"));
  8. System.out.println(map.get("age"));
复制代码


由上述简单的增删改查,我们可以发现,key相当于放入map内容的索引,value就是真正内容。我们查询和删除其实就是对相应的key进行的操作,而put的作用是当操作的是新的key,则新增一条数据,因为HashMap是不可重复的,所以当操作的key已存在,就会覆盖该key下对应的value。
  • 遍历
    • for each循:
    1. HashMap map = new HashMap();
    2. map.put("1", "大妖怪");
    3. map.put("2", "二妖怪");
    4. map.put("3", "三妖怪");
    5. map.put("4", "四妖怪");
    6. map.put("5", "五妖怪");
    7. for (Object obj : map.values()) {
    8. System.out.println(obj);
    9. }
    复制代码
    1. HashMap map = new HashMap();
    2. map.put("1", "大妖怪");
    3. map.put("2", "二妖怪");
    4. map.put("3", "三妖怪");
    5. map.put("4", "四妖怪");
    6. map.put("5", "五妖怪");
    7. for (Object obj : map.keySet()) {
    8. System.out.println(map.get(obj));
    9. }
    复制代码


     
上述例子中,values()方法拿到的是一个value组成的Collection,而ketSet()方法拿到的是一个key组成的Set,因此我们可以将这两个拿过来遍历。

路过

雷人

握手

鲜花

鸡蛋
原作者: 模板之家 来自: 网络收集

全部回复(0)