- Map接口定义的集合又称为查找表,用于存储所谓“key-value”映射对。
- map是世界上查询速度最快的一种数据结构
- key值不能重复,value值可以重复
1)产生原因
由于是通过key的hashcode值计算该元素下标的位置,如果key重复,则会产生链表。
2)避免链表产生
- 由于key的hashcode和equals方法直接影响HashMap是否出现链表,对此自己新建的类务必重写hashcode和equals方法;
- API手册重写hashcode和equals方法说明
- 成对重写
- 一致性
- 稳定性
- 添加元素:put
- 移除元素:remove
- 修改元素:put
- 查询元素:get
- 遍历元素,有三种情况
- 通过所有的键进行遍历 - setkey()
- 通过键值对进行遍历 - entrySet()
- 通过所有的值进行遍历 - 很少使用
package MAPDemo;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class MapOperationDemo {
public static void main(String[] args) {
Map map = new HashMap();
//add element
map.put("姓名","张三");
map.put("年龄","24");
map.put("地址", "中国");
System.out.println(map);
//get element
String a = map.get("姓名");
System.out.println(a);
Set s = map.keySet();
for(String s1 : s) {
System.out.println(s1);
}
Set> en = map.entrySet();
for(Entry en1 : en) {
System.out.println(en1.getKey());
System.out.println(en1.getValue());
}
}
}



