Map 集合(双列集合接口) 特点:
1.以键值对的形式存储元素
2.通过键可以找到值
3.键是唯一的,值是可以重复的
4.Map集合的
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致
由于要保证 键 的唯一、不重复,需要重写 键的hashCode()方法、equals()方法。
LinkedhashMap
通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证
键 的唯一,不重复,需要重写键的hashCode()方法、equals()方法
Map集合常用的方法(必须掌握)
public V put(K key, V value) : 往集合中添加键值对,放回之前该键对应的值
public V remove(Object key) : 根据键删除该键对应的键值对,返回被删除元素的 值。
public int size(): 获取键值对的长度
boolean containsKey(Object key) 如果此映射包含对于指定键的映射关系,则返回 true。
boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
public V get(Object key) 根据指定的键获取对应的值。
public collection values(): 获取Map集合中所有的值,存储到collection集合中
public Set keySet() : 获取Map集合中所有的键,存储到Set集合中。
public Set
Map
Map集合的第一种遍历方式:
通过 键找值 的方式遍历双列集合
思路:
1.获取该集合的所有建
2.遍历所有的键的集合,得到每一个键
3.根据键找对应的值
HashMap
Map集合的第二种遍历方式:
通过 键值对对象 的方式遍历双列集合
思路:
1.获取该集合的所有 键值对 对象
2.遍历该键值对对象的Set集合,拿到每一个键值对对象
3.调用键值对对象的getKey()和getValue()方法获取键和值
Map.Entry接口中的方法:
public K getKey();
获取Entry对象中的键
public V getValue;
获取Entry对象中的值
// 创建一个Map集合,键的类型是:Integer,值的类型是String
Map
HashMap集合保证键唯一的原理:依赖键的hashCode()和equals()方法
如果该键与其中任何一个键相等,那么就覆盖之前的键值对
如果该键与其中任意一个键都不相等,那么就存储键值对
【java基础|JAVA基础学习总结,day15(Map集合)】HashMap存储自定义类型键值:保证键唯一,必须重写键的hashCode()和equals()方法
LinkedHashMap存储自定义类型键值:保证键唯一,必须重写键的hashCode()和equals()方法 LinkedHashMap:是由哈希表保证键唯一,由链表保证元素存取有序
HashMap:是由哈希表保证键唯一
List,Set,Map集合都有一个静态方法 of(),适合添加批量少量元素,并且创建出来的集合是不可以变的
jdk 9 对集合添加元素的优化:
Java 9,添加了几种集合工厂方法,更方便创建少量元素的集合、map实例。
新的List、Set、Map的静态工厂方法可以更方便地创建集合的不可变实例。
作用:适合添加少量元素
注意:
推荐阅读
- JAVA百炼成仙|【JAVA百炼成仙】渡劫篇 上——Collection集合(List、Set)
- 爪哇|【集合】
- 源码阅读|HashMap原理及常见考点
- Java笔记|集合框架Map,HashMap,TreeMap【JAVA基础】
- Java15新特性及代码示例
- 程序人生|外包干了五年,已经快寄了...
- java|java 代码封装_封装 java代码
- 架构资料|消灭 Java 代码的“坏味道”
- JavaWeb实战|IDEA+Java+JSP+Mysql+Tomcat实现Web商品信息管理系统