目录
一:Map接口介绍
Map接口定义了双列集合的存储特征,他不是Collection的子接口,双列集合是以Key与Value的特征进行存储的(类似于数学中的结合)
●Map中的元素是成对存在的,类似于社会中的夫妻,而Collection中的元素是单个存在的,类似于社会中的单身狗
●Map中常用的容器有HashMap,TreeMap
二:Map中常用的方法
三:HashMap_添加元素
HashMap是Map接口的实现类,采用哈希算法来实现,不允许有重复的Key如果有重复的新值就会代替旧值,HashMap在查找,删除,增加方面都很高效
V put(K,Key ,V value)
如果出现相同的Key会用新的Key代替旧的Key,并且返回旧Key对应的Value
如果是首次出现的Key,会返回null
代码
import java.util.HashMap;
import java.util.Map;
public class HashMapTest {
public static void main(String[] args) {
//实例化HashMap
Map<String,String> map=new HashMap<>();
//添加元素
String str=map.put("陈述长","大宋比");
System.out.println(str);//会返回null因为Map中如果没有对应的Key就会返回Null,如果有会返回相同的Value
String str2=map.put("陈述长","小怂逼");
System.out.println(str2);
}
}
四:HashMap_获取元素
第一种方法
V get(K key) 通过对应的Key获取相应的Value,如果Key不存在会返回null
代码
//获取元素
System.out.println("-------获取元素-------------");
//通过Key获取相应的Value
System.out.println(map.get("陈述长"));
System.out.println(map.get("哈哈"));
第二种方法
Set keySet() 经常与get方法一起使用
将Map容器中的Key基于Set集合的形式返回回来(返回一个Set容器)
代码
System.out.println("--------------keySet--------");
//KeySet 获取Map集合中的所有Key放到Set集合中
//获取HashMap中所有的元素,KeySet配合get一起获取元素
//实例化一个Set容器
Set<String> set=map.keySet();
map.put("卢鑫宇","大帅逼!");
map.put("卢小宇","大帅逼!!");
map.put("卢大宇","大帅逼!!!");
for(String str1:set){
String str3=map.get(str1);
System.out.println(str1+"------->"+str3);
}
第三种方法
Set <Map.Entry<K,V>> entrySet() 返回一个Set 基于Map.Entry类型的Map集合中所有的Value值
代码
System.out.println("----------entrySet----------");
Set<Map.Entry<String,String>> entries=map.entrySet();
//Entry接口定义在Map接口的内部,调用Entry接口,Map.Entry
//Entry类型里面有getKey 和getValue方法
for(Map.Entry<String,String> entrys:entries){
String key= entrys.getKey();
String val=entrys.getValue();
System.out.println(key+"----->"+val) ;
}
五:Map容器并集操作
void putAll(Map M);
将另一个容器中的元素并到本容器中,如果被并的Key与原容器的Key值相同,则会代替原容器的Key
代码
System.out.println("----------Map容器的合并----------");
Map<String ,String> map2=new HashMap<>();
map2.put("卢鑫宇","大大帅比");
map2.putAll(map);
Set<String> set3=map2.keySet();
for(String str4:set3){
System.out.println("key:"+str4+"value:"+map2.get(str4));
}
六:HashMap_删除元素
V remove(Object key)通过Key删除对应的元素并返回被删除元素的Value
代码
七:HashMap_判断key或value是否存在
boolean containsKey(Object Key)
boolean containsValue(Object Value)