Map集合概述
- Interface Map<K,V>K:键的类型; V:值的类型
- 将键映射到值的对象; 不能包含重复的键;每个键可以映射到最多一个值 举例: 学生的学号和姓名
- 创建Map集合的对象
1.多态的方式
2. 具体的实现类HashMap
看一段代码:
package Map;
import java.util.HashMap;
import java.util.Map;
public class MapDemo01 {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
//V put(k key,V value) 将指定的值与该映射中的指定键相关联
map.put("lll", "小李");
map.put("www", "小王");
map.put("zzz", "小张");
map.put("zzz", "小赵");//键重复的时候,值就会把以前的值替换掉
System.out.println(map);//{www=小王, zzz=小赵, lll=小李}
}
}
Map集合基本功能
- V put(K key,V value):添加元素
- V remove(Object key):根据键删除键值对元素
- void clear():移除所有的键值对元素
- boolean containsKey(Object key):判断集合是否包含指定的键
- boolean containsValue(Object value):判断集合是否包含指定的值
- boolean isEmpty():判断集合是否为空
- int size():集合的长度,也就是集合中键值对的个数
直接看代码演示:
package Map;
import java.util.HashMap;
import java.util.Map;
public class MapDemo02 {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
//V put(k key,V value) 将指定的值与该映射中的指定键相关联
map.put("lll", "小李");
map.put("www", "小王");
map.put("zzz", "小张");
//System.out.println(map.remove("lll"));
//map.clear();
System.out.println(map.containsKey("lll"));
System.out.println(map.containsKey("lll0"));
System.out.println(map.isEmpty());
System.out.println(map.size());
System.out.println(map);
}
}
Map集合的获取功能
- V get(Object key):根据键获取值
- Set keySet():获取所有键的集合,键是唯一的,返回Set集合
- Collection values():获取所有值的集合,值不一定唯一,返回Collection集合
- Set<Map.Entry<K,V> > entrySet():获取所有键值对对象的集合
1.getKey()得到键
2.getValue得到值
直接看代码演示:
package Map;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDemo03 {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
//V put(k key,V value) 将指定的值与该映射中的指定键相关联
map.put("lll", "小李");
map.put("www", "小王");
map.put("zzz", "小张");
System.out.println(map.get("lll"));//小李
System.out.println(map.get("llll"));//null
Set<String> set=map.keySet();
for(String s:set) {
System.out.print(s+" ");
}
System.out.println();
Collection<String> col=map.values();
for(String c:col) {
System.out.print(c+" ");
}
System.out.println();
//遍历
Set<Map.Entry<String, String>> entry=map.entrySet();
for(Map.Entry<String, String> me:entry) {
//根据键值对对象获取键和值
String key=me.getKey();
String value=me.getValue();
System.out.println(key+":"+value);
}
}
}