Map
1、体系位置:双列集合的顶层接口
2、数据结构:描述的是一个数据(Key)到另一个数据(Value)的映射关系
1)Key(键):有规律的,容易记忆的,是一个简单的数据
2)Value(值):没有规律,不容易记忆的,是一个简单的数据
3)操作:通过Key来寻找Value
3、什么是映射:就是对应关系
(1)数学:y = x * x
(2)穷举罗列:{1=1, 2=4, 3=9, 4=16}
4、Java中的Map集合就是通过琼剧罗列的方式来表示的
5、Map集合的特点:
1)Key是唯一的,不能重复
2)Value是不唯一的,一个Key只能对应一个Value
3)每一个键都只能对应一个值
6、Map和Collection的区别
Map是双列集合,是一个接口
Collection是单列集合,是一个接口
Map中所有操作都是针对键的
import java.util.HashMap;
import java.util.Map;
public class Demo01_Map {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("abc", "qwe");
map.put("abc", "123");
map.put("zxc", "qwert");
System.out.println(map);
}
}
Map集合的常用方法
1、put(K key,V value):添加功能(集合中不存在指定键时)将键值对添加到指定集合中;修改功能(当集合中已经存在指定的键),根据键,修改其对应的值
2、remove(Object key) 根据键,删除键值对;如果键不存在,则不作操作;如果键存在,删除键值对且返回键对应的值
3、clear() 清空集合
4、size() 返回集合中键值对个数
5、get(Object key) 根据键获取对应的值,如果键不存在,则返回null
6、containsKey(Object key) 判断集合是否包含指定键
7、containsValue(Object value) 判断集合是否包含指定值
Map集合的第一种遍历思路
1、获取Map集合中所有的键,存储到一个set集合中,之后遍历set集合,根据键获取值
2、获取Map集合中所有的键:Set keySet()方法
3、遍历Set集合:
(1)迭代器遍历
(2)增强for循环遍历
4、获取到每个键之后,根据键获取值:V get(Object key)
5、特点:遍历Set集合拿到键之后,还是需要通过map集合获取键对应的值
package ceshi01;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Dome {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap();