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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

##能够说出Map集合特点

##使用Map集合添加方法保存数据

##使用"键找值"的方式遍历Map集合

##使用"键值对"的方式遍历Map集合

##能够使用HashMap存储自定义键值对的数据

##能够使用HashMap编写斗地主洗牌发牌案例

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

        例:地图:
            地址(不可重复) 地名(可重复)
           Map:
            key          value
            **通过key可以找到对应的值

    Map的实现类介绍
        1.--HashMap 底层是哈希表的实现(HashMap中的键其实就是HashSet)
            --LinkedHashMap *就是一个有序的HashMap

        2.--Hashtable 是同步的,不允许null键和null值(HashMap是不同步的,允许null键/值,但只能出现一次)
            --Properties 可以方便和IO流相结合来使用

        Map的常用方法:
            - public V put(K key, V value):  把指定的键与指定的值添加到Map集合中。
            - public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
            - public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
            - boolean containsKey(Object key/value) 判断集合中是否包含指定的键。
            - public Set<K> keySet(): 获取Map集合中所有的键,存储到Set集合中。
            - public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。

        遍历功能:
            第一种:(键找值)
            Set  <K>    xxx  = map.keySet() 获取包含所有键的Set集合 其实HashMap中的键就相当于一个HashSet
            Set<String> keys = map.keySet();

            第二种:(键值对)
            Set<Map.Entry<  k   ,   v   >> xxx = map.entrySet() 获取包含所有键值对元素(Entry)的Set集合
            Set<Map.Entry<String, String>> set = map.entrySet()

        用HashMap存储自定义类型键值
            由于HashMap中的键相当于一个HashSet,所以当HashMap中的键是自定义类型的时候,则需要重写hashCode和equals方法以保证元素唯一
            其实使用HashSet存储元素的时候,底层是把元素存到Map中的键里面

        JDK中新特性:添加元素到集合的of方法:
            在List,Map,Set接口中定义了一些重载的静态方法of可以实现多个元素添加到集合中
            注意事项:
                1.只能使用接口类型调用这些静态方法,实现类去调用则不可以
                2.使用of方法将元素添加到集合中后,元素不能在改变
                3.Map/Set中不允许出现重复的键/元素,如果有重复元素,则会抛出异常

        Debug模式:
            1.点断点(希望查看代码执行步骤的开始)
            2.以debug模式启动
            3.按F8查看执行流程(看调用方法,则按下F7进入方法)

0 个回复

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