Map
java.util.Map 双列集合的顶层接口.
Map 中的集合,元素是成对存在的(理解为夫妻).每个元素由键与值两部分组成,通过键可以找对所对应的值.
需要注意的是,Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值.
Collection 中的集合称为单列集合, Map 中的集合称为双列集合。
Map接口中的常用方法
- public V put(K key, V value) :
把指定的键与指定的值添加到Map集合. 还可以更新Key的所对应的值!! 返回值是被替换的元素.
- public V remove(Object key) :
把指定的键 所对应的键值对元素 在Map集合中删除,返回值是被删除的元素对应的值。
- public V get(Object key)
根据指定的键,在Map集合中获取对应的值。
- public Set<K> keySet() :
获取Map集合中所有的键,存储到Set集合中。
- public Set<Map.Entry<K,V>> entrySet() :
获取到Map集合中所有的键值对对象的集合(Set集合)。
其他:
int
size() --->集合的长度
void
clear()--->清空集合
boolean
containsKey(Object key)--->判断有没有包含某个键
boolean
containsValue(Object value) --->判断有没有包含某个值
注意事项:
HashMap可以存Null键和Null值的,但是Null的键只能有一个
面试题:
Hashtable和HashMap的区别:
1.HashMap底层是线程不安全的,效率很高,Hashtable是线程安全的,效率低
2.HashMap可以存null键,但是只能存一个,Hashtable不能存null键
Map常用子类
HashMap:
存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
LinkedHashMap:
存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。
Debug的使用步骤
1.首先加断点--->哪里不会点哪里
2.然后Debug模式运行--->右键Debug运行
3.查看三个重要的地方
1.控制台-->console
2.变量区域--->variable
3.栈内存的走向区域--->debugger