Day 10
Map
-
双列集合一次添加一对元素(key, value)
-
键不可重复,值可以重复
-
在Java中把键值对称之为
Entry
对象 -
Map集合的基础方法
-
//创建对象 Map<String, String> m = new HashMap<>(); //添加/覆盖元素 //返回值为被覆盖的值 m.put("haha", "hello"); //通过键值删除元素,返回value值 m.remove("haha") //判断是否存在 m.containsKey("haha"); m.containsValue("hello"); //清空集合 m.clear(); //判断是否为空 m.isEmpty(); //获取value m.get(key);
-
Map集合的遍历方式
- 通过键找值:
Set<String> Keys = m.keySet()
- 通过键值对遍历:
map.entrySet()
- 通过forEach遍历
- 通过键找值:
HashMap
- 特点
- 是一个Map的实现类
- 没有额外特有的方法
- 特点是由键决定的:无序、不重复、无索引】、
- 是由数组、链表和红黑树构成的
LinkedHashMap
- 特点
- 由键决定:有序、不重复、无索引
- 有序指的保证存储和取出的元素顺序一致
- 原理:底层结构依然是哈希表,只是给每个键对元素添加了序号
TreeMap
- 特点:由键决定特性,不重复,无索引,可排序
- 可排序:对键进行排序
- 默认按照从小到大进行排序
- 书写代码的两种规则
- 实现Comparable接口,指定比较规则
- 创建集合时传递Comparable比较对象