1.java.util.Map<k,v>集合
Map集合的特点:
1.Map集合是一个双列集合,一个元素包含两个值(key,value)
2.Map集合中的元素,key和value的数据类型可以相同也可以不同
3.Map集合中的元素,key不能重复,value可以
4.Map集合中的元素,key和value是一一对应的
2.java.util.HashMap<k,v>集合
HashMap集合特点:
1.底层是哈希表,查询速度非常快
数组+单项列表/红黑树
2.它是一个无序的集合,存储元素和取出元素的顺序可能不一样
java.util.LinkedHashMap<k,v> 集合extends HashMap<k,v>集合
1.底层是哈希表+链表
2.有序的集合,存储元素和取出元素的顺序一样
Map<String,String>map = new HashMap<>();
String v1 = map.put("key1","value1");
System.out.println(v1);//v1:null
String v2 = map.put("key1","value2");
System.out.println(v2);//v2:value1
System.out.println(map);//map:key1=value2
3.遍历Map集合
1.把Map集合中所有的key取出来放到Set集合中
SetKeySet()
2.使用迭代器或增强for遍历Set集合,通过key值获取value(键找值)
get
//创建Map集合对象
Map<String,Integer>map = new HashMap<>();
map.put("赵丽颖",168);
map.put("刘亦菲",165);
map.put("林志玲",178);
//创建Set集合存储Map集合中的key元素
Set<String> set = map.keySet();
//使用迭代器遍历map集合
Iterator<String> it = set.iterator();
while(it.hasNext()){
String key = it.next();
Integer value = map.get(key);
System.out.println(key+"="+value);
}
//使用for循环遍历map集合
for (String key:set){
Integer value = map.get(key);
System.out.println(key+"="+value);
4.Entry键值对对象
当创建Map集合时,就会在Map集合中创建一个Entry对象,用来记录键与值
5.HashTable集合
JDK9新特性:
Debug追踪:让代码逐行执行,查看代码执行的过程,调试程序中出现的bug