Map
- java 集合 API 中的Map是映射的意思
- Map是一个接口,其目的是为了高性能解决查找问题
- 实现Map接口的类都封装了高性能查找算法,利用Map接口的实现类就可以提高软件的查
找性能,提供优秀的用户体验
- Map的实现类
HashMap是最快的查找算法,没有之一
! !!最常用 - Map的实现类TreeMap是比较快的查找算法,
TreeMap的底层是红黑树
,查询速度比较快
Map 的使用
- 1.创建Map
- 2.将需要查询的数据,按照key-value成对存储到map对象中
- key是被检索的关键字,value是被查找到的信息
- 3.查询使用时候,根据key查询对应的value
特点:
- 1
.key 不能重复!value可以重复
。添加时候如果key重复就替换原有的value
- 2.根据key检索到value的速度非常快和存储容量无关
put()
将被查询的数据成对的添加到map中,其中key是被检索的关键字,value是检索到的结果
Map<String,String> map = new HashMap<>();
map.put("莫言" , "檀香刑");
map.put("三十" , "我空姐同居的日子");
map.put("冯唐" , "18岁给我一个姑娘");
注:
- 1、key不能重复
- 2、
如果两次put同一个key的话,第一个put是添加,第二个put的是替换操作
get()
- 查询方法,通过key来查询对应的value值,返回值是检索到value
- 由于map中允许value是 null,所以检索到value为空时候,也返回null
String value = map.get("啸天");
System.out.println(value);
containsKey()
- 检查map中是否包含指定的key,如果包含返回true,不包含返回false
boolean b = map.containsKey("张浩楠");
System.out.println(b); //false
size()
- 返回key-value对的数量
int n = map.size();
isEmpty()
- 检查集合是否为空
boolean b = map.isEmpty();
remove()
- 从集合中删除key对应的value,返回删除的value
//如果key不存在,不会产生任何结果,不会报错
map.remove("张浩楠");
clear()
- 清空集合
map.clear();