Map初认识
首先,了解到Map是用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的key,一组保存着Map的value。这样说可能有点抽象,我们用类比的方法解释,在学生信息类中的话,key就相当于是学号,value就是这个学生的name、age、sex等信息。
interface Map<K,V>里面的K就是键的类型,而且是唯一的;V就是值的类型,可以重复,而且每个键最多可以映射一个值,就像是每个孩子最多只能有一个父亲,但是一个父亲却可以有好几个孩子。
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()
根据键获取值:V get(Object key)
获取所有键的集合:Set<K> keySet()
获取所有值的集合:Collection<V>values()
获取所有键值对对象的集合:Set<Map.Entry<K,V>>entrySet()
它的主要实现类有HashMap(去重)、LinkedHashMap()、TreeMap(排序)
我们通过一段代码来解释一下Map的几种功能:
import java.util.HashMap;
import java.util.Map;
public class Demo{
public static void main(String[] args){
Map<String,String> map = new HashMap<>();//创建一个HashMap
map.put("张三","高一三班");//存放元素
String s = map.get("张三");//取出元素
System.out.println(s);
int size = map.size();//获取map的长度
System.out.println(size);
boolean b = map.containsKey("张三");//判断是否包含指定key
System.out.println(b);
}
}
运行结果为:
高一三班
1
true