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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 法兰的街舞队 于 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中的一些新特性。

0 个回复

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