本帖最后由 法兰的街舞队 于 2018-11-15 09:17 编辑
基础加强班已经学习到第四天了,感觉之前的知识都有点模糊了,多敲代码,多看笔记!!
Day04
java.util.map<k,y>集合
Map集合的特点:
1.Map集合是一个双列集合,一个元素包含两个值
2.key-键,value-值
3.key不可以重复,value可以重复
4.通过key可以找到对应的值
HashMap 底层是哈希表的实现(HashMap中的键其实就说HashSet)
LinkedHashMap 就说一个有序的HashMap
Hashtable
Properties 可以方便和IO流相结合来使用
Hashtable 是同步的,Hashtable不允许null键null值
HashMap不是同步的,HashMap允许null键和null值,但是null键只能出现一次
put方法添加元素,如果键不存在,直接添加,put方法返回null
如果键已经存在了,由于键不能重复,会将新的值替换旧的值,再将旧的值返回
Map的常用功能:
V put(K k ,V v)添加元素,如果键已经存在,则用新值替换掉旧值,并返回旧值
V remove(Object K)按照键对应的元素来删除Map中的对应值,并返回被删除的值
V get(Object key)获取指定键对应的值(通过键获取值)
boolean contains Key(Object key)判断制定的键是否存在
boolean containsValue(Object value)贩毒案指定的值是否存在
遍历功能:
第一种方式: Set<K>keySet() 获取包含所有键的Set集合 其实HashMap中的键就相当于一个HashSet(键找值的方式遍历Map集合)
第二种方式 : Set<Map.Entry<K,V>>entrySet获取包含所有键值对元素<Entry>的Set集合
HashMap储存自定义类型键值:
自定义类型作为键来储存对象则必须重写hashCode和equals方法,以保证元素唯一
其实使用HashSet储存
JDK9中的新特性:添加元素的集合的of方法:
在Lst,Map,Set接口种定义了一些重载的静态方法of可以实现将多个元素添加到集合种
注意事项:
1.只能使用接口类型调用这些静态方法,实现类去调用则不可以
2.使用of方法将元素添加到集合种后,元素不能改变
3.Map/Set接口中不允许出现重复的元素/键,如果有重复则会报错第四天主要学习了Set接口下面的HashMap类的特点以及其中的一些方法的使用。
还有Jdk9中的一些新特性。
|
|