一、java.util.Map<k,v>集合 及其子类
1. Map集合的特点:
1.1 Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)。
1.2 Map集合中的元素,key和value的数据类型可以相同,也可以不同。
1.3 Map集合中的元素,key是不允许重复的,value可以重复。
1.4 Map集合中的元素,key和value是一一对应。2. java.util.HashMap<k,v>集合 implement Map<k,v>接口
2.1 HashMap集合底层是哈希表:查询的速度特别的快。
2.2 hashMap集合是一个无序的集合,存储元素和取出元素的顺序可能不一致。3. java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合
3.1 LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)。
3.2 LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序一致。
二、Map接口中的常用方法
public V put(K key,V value); // 把指定的键与指定的值添加到Map集合中。返回值是被替换的value值,如果没有是null。 public V remove(Object key); // 把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值。key如果不存在,返回null。 public V get(Object key); // 根据指定的键,在Map集合中获取对应的值。key如果不存在,返回null。 public boolean contaninsKey(Object key); // 判断集合中时候包含指定的键。
public Set<K> keySet(); // 获取Map集合中的所有的键,存储到Set集合中。 public Set<Map.Entry<K,V>> entrySet(); // 获取到Mao结婚中所有得到键值对对象的集合(Set集合)。
三、Entry键值对对象
1. 概述:Map.Entry<K,V>:在Map接口中有一个内部接口Entry
当Map集合一创建,那么就会在Map集合中创建一个Entry对象,用来记录键与值(键值对对象,键与值得映射关系)。2. 常用方法:
public K getKey(); // 获取Entry对象中的键。 public K getValue(); // 获取Entry对象中的值。
四、JDK的新特性:
List接口、Set接口、Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素。
使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用。
static <E> list<E> of (E...elements);
注意:
1. of方法只适用于三个接口,不适用于接口的实现类。
2. of方法的返回值是一个不能改变的集合,集合不能再使用add、put方法添加元素,否则会抛出异常。
3. Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常。