Map集合
1.Map集合
Map<K,V>
K: 键 key , V:值 value
以键值对的形式存放数据, 是双边队列
例如:001–> 徐凤年 002–> 李淳罡 003–> 王仙之
Map和List,Set没有关系,数据形式都不一样
键是不能重复的,是唯一的,而值不唯一
Map<K, V>接口
HashMap<K, V> 基于hash值进行存储的,依靠key
TreeMap<K, V> 基于二叉树进行存储的,存储的形式也是key
2.HashMap集合的方法
增:
put (K key, V value) ; 删:
- | remove (Object k) ; | 通过键删除整个键值对,并返回删除的值 |
| ------------------- | ------------------------------------ |
| | |改:
- | put(K key, V value) ; | 当key存在的时候,修改值,不存在时就添加 |
| --------------------- | --------------------------------------- |
| | |查:
int size() ; 有效键值对的个数
boolean isEmpty(); 判断是否为空,为空返回true,不为空返回false
boolean containsKey();判断是否包含这个键
boolean containsValue();判断是否包含这个值
Set keySet()用来获取map集合中所有的key,并返回一个set集合(这里为什么不返回List集合,因为set符合map中key的无序不重复)
get(Object k); 通过键获取值
Collection values(); 获取map集合中所有的value值,返回一个Collection集合
Set<Map.entry<K,V>> — entrySet(); 将键值对实体成一个Set集合
3.TreeMap集合
与HashMap不同的是,键值对存放时是有序不重复的,
而要实现有序不重复,调用时类需实现Comparable接口,并重写compareTo方法