一、Map集合
1、概述
- 映射 /双列集合
- 集合分为Collection(存储一个元素 )和Map(存储一对元素)
- 键不能重复,值可以重复
2、常用子类
- HashMap
- 哈希表存储数据
- 元素存取数据不一致
- 为了保证键的唯一不重复,需要重写键的hashCode方法和equals方法
- LinkedHashMap
- 链表+哈希表存储数据
- 元素的存储顺序一致
- 不需要重写两个方法
3、常用方法
- put(k,v)
- remove(k)
- get(k)
- keySet()--遍历键找值
- Set<Map.Entry<K,V>>
entrySet
-
():获取键值对的集合
- getKey()
- getValue()
4、补充
- 自定义类型键值需要重写hashCode方法和toString方法
- LinkedHashMap可以保证元素有序
二、补充知识点
1、jdk9对集合添加的优化
- (仅)List、Set、Map的集合工厂方法
- 使用of(...),创建集合的不可变实例
2、Debug追踪
- F7:进入到方法内
- F8:逐行 执行程序
- Shift+F8:跳出 方法
- F9:跳到下个断点
- Ctrl+F2:退出 debug程序
3、模拟斗地主洗牌发牌
- 有序斗地主
- HashMap存序号&牌号及花色
- ArrayList存序号
- Collections的sort