一)Map集合树
二)Map集合的特点
- Map集合是一个双列集合,一个元素包含两个值(一个key,一个value).
- map集合中的元素,key和value的数据类型可以相同,也可以不同。
- Map集合中的元素,key不允许重复的,value是可以重复的
- Map集合中的元素,key和vlaue是一一对应的。
三)常用 Map实现类
- HashMap集合的特点
- HashMap集合底层是哈希表:查询速度特别快
- HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。
- LinkedHashMap集合的特点
- LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)。
- LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序一致。
HashMap集合常见方法代码
package com.Good;
//HashMap集合
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class B_Map {
public static void main(String[] args) {
Map<String,Integer> map=new HashMap<>();
map.put("B", 1);//1.添加数据put()
map.put("C", 2);
map.put("D", 2);
map.put("E", 3);
System.out.println(map);//{B=1, C=2, D=2, E=3}
//2.根据key取值map.get()
System.out.println(map.get("B"));//1
//删除
map.remove("E");
System.out.println(map);//{B=1, C=2, D=2}
//map的大小
System.out.println(map.size());//3
//map是否包含特定的key和value
System.out.println(map.containsKey("B"));//true
System.out.println(map.containsValue(2));//true
//清空集合
// map.clear();
//遍历map集合的键和值 map.keySet() map.values();
System.out.println( map.keySet());//[B, C, D]
System.out.println( map.values());//[1, 2, 2]
//增强for循环遍历
System.out.println("增强for循环遍历");
for(Object obj:map.keySet()){
System.out.println(obj+":"+map.get(obj));//B:1 C:2 D:2(隔行显示)
}
//迭代器遍历
System.out.println("迭代器遍历");
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key=(String) it.next();
System.out.println(key+":"+map.get(key));//B:1 C:2 D:2(隔行显示)
}
}
}