A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Depro 中级黑马   /  2018-11-29 14:20  /  798 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java.util.Map<k,v>集合
Map特点:
1,Map集合是一个双列集合,一个元素包含两个值(一个key,一个value).
2,Map集合中的元素,key和value的数据类型可以相同,也可以不同。
3,Map集合中的元素,key是不允许重复的,value是可以重复的。
4,Map集合中的元素,key和value是一一对应的,通过key可以找到对应的value。

Map实现类介绍:
HashMap
特点:
是不同步的,允许null键和null值,但是只能出现一次,底层是哈希表的实现(HashMap中的键其实就是HashSet)。
使用:
(1)public V put(K key, V value):  把指定的键与指定的值添加到Map集合中。

(2)public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。

(3)public V get(Object key) 根据指定的键,在Map集合中获取对应的值。

(4)boolean containsKey(Object key) 判断集合中是否包含指定的键。

(5)public Set<K> keySet(): 获取Map集合中所有的键,存储到Set集合中。

(6)public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。






HashMap储存自定义类型键值:
Map集合保证key是唯一的:HashMap中的键就相当于HashSet,作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一。
其实使用HashSet储存元素的时候,底层就是把元素存到Map中的键里面。

LinkedHashMap:HashMap子类,就是一个有序的HashMap。


Hashtable 是同步的,不允许null键和null值

Properties是Hashtable子类,可以方便和IO流相结合来使用。

jdk9的新特性:
list接口,Set接口,Map接口里面增加了一个静态的方法of,可以给集合一次性添加多个元素
static<E>list<E>of(E...elements)
使用前提:当集合中存储的元素个数已经确定,不在改变时使用。
注意:
1,of方法只适用于List接口,Set接口,Map接口,不适用于接口的实现类。
2,of方法的返回值是一个不能改变的集合,集合不能再使用add.put方法添加元素,会抛出异常。
3,Set接口和Map接口在调用of方法时,不能有重复的元素,否则会抛出异常。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马