• Map


    java.util.Map<k,v>集合
    Map集合的特点:
    1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)
    2.Map集合中的元素,keyvalue的数据类型可以相同,也可以不同
    3.Map集合中的元素,key是不允许重复的,value是可以重复的
    4.Map集合中的元素,keyvalue是一一对应
    java.util.HashMap<k,v>集合 implements Map<k,v>接口
    HashMap集合的特点:
    1.HashMap集合底层是哈希表:查询的速度特别的快
    JDK1.8之前:数组+单向链表
    JDK1.8之后:数组+单向链表|红黑树(链表的长度超过8):提高查询的速度
    2.hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
    java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合
    LinkedHashMap的特点:
    1.LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)
    2.LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的
    public V put(K key, V value): 把指定的键与指定的值添加到Map集合中。
    返回值:v
    存储键值对的时候,key不重复,返回值Vnull
    存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value
    public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
    返回值:V
    key存在,v返回被删除的值
    key不存在,v返回null
    public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
    返回值:
    key存在,返回对应的value
    key不存在,返回null
    boolean containsKey(Object key) 判断集合中是否包含指定的键。
    包含返回true,不包含返回false



    Map集合的第一种遍历方式:通过键找值的方式
    Map集合中的方法:
    Set<K> keySet() 返回此映射中包含的键的 Set 视图。
    实现步骤:
    1.使用Map集合中的方法keySet(),Map集合所有的key取出来,存储到一个Set集合中
    2.遍历set集合,获取Map集合中的每一个key
    3.通过Map集合中的方法get(key),通过key找到value


    Map集合遍历的第二种方式:使用Entry对象遍历
    EntryMap集合的内部接口,当Map集合已创建,那么在Map集合中创建一个Entry对象,用来记录键与值----》结婚证

    Map集合中的方法:
    Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。

    实现步骤:
    1.使用Map集合中的方法entrySet(),Map集合中多个Entry对象取出来,存储到一个Set集合中
    2.遍历Set集合,获取每一个Entry对象
    3.使用Entry对象中的方法getKey()getValue()获取键与值
    JDK9的新特性:
    List接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素
    static <E> List<E> of​(E... elements)
    使用前提:
    当集合中存储的元素的个数已经确定了,不在改变时使用
    注意:
    1.of方法只适用于List接口,Set接口,Map接口,不适用于接接口的实现类(Arraylist,HashMap)
    2.of方法的返回值是一个不能改变的集合,集合不能再使用add,put方法添加元素,会抛出异常
    3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常
     
     
  • 相关阅读:
    切记ajax中要带上AntiForgeryToken防止CSRF攻击
    研究 Javascript的&&和||的另类用法
    在Javascript中使用String.startsWith和endsWith
    spring mvc的web controller层读不到nacos配置的解决办法
    阿米在日本工作生活趣事(3)
    Python编程从入门到实践(5)学习笔记-用户输入和while
    Python编程从入门到实践(4)学习笔记-if语句,字典
    Python编程从入门到实践(3)学习笔记-列表,切片,元组
    Python编程从入门到实践(2)学习笔记
    【Maven问题】 错误: 程序包xxx 不存在
  • 原文地址:https://www.cnblogs.com/wjy980402/p/13540088.html
Copyright © 2020-2023  润新知