zoukankan      html  css  js  c++  java
  • 我的学习之路_第八章_map集合

    【Map集合】


    Map集合中常用方法:

    1: 返回值:value值 put(K key, V value) 往Map集合中添加元素,如果key值重复,那么将返回被覆盖的value值.
    2: 返回值:value值 get(Object key) 传入一个key值,返回相对应的value值.如果没有,则返回null.
    3: 返回值:value值 remove(Object key) 传入一个key值,删除此key值与相对应的value值.返回被删除的value值.

    Map集合的特点:
    1:Map集合是一个双列集合,赋值的时候必须同时给key值和value值赋值.
    2:Map集合是一个无序集合.
    3:Map集合的key值不可以重复,value值可以重复.
    4:Map集合中一个key值只能对应一个value值.
    5:定义Map集合时,key和value可以使用相同的数据类型,也可以使用不同的数据类型.


    Map集合的第一种遍历方式:(通过键查找值的方式)

    返回值 Set<K> keySet() 返回此映射中包含的键的Set视图. 把Map集合中的键存储到一个Set集合中

    遍历Map集合的步骤:

    1:定义Map集合,往集合中添加元素.(put方法添加元素)
    2:调用Map集合中的方法keySet,把Map集合中的键存储到一个Set集合中
    3:遍历Set集合,获取Map集合所有的键值.
    4:通过获取到的键,使用Map集合的方法get查找到对应的key值.

    Map集合的第二种遍历方式:(遍历键值对的方式)

    返回值 Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的Set视图

    遍历Map集合的步骤:

    1:定义一个Map集合,往集合中添加元素.(用put方法)
    2:调用Mao集合中的方法 entrySet ,把Map集合中的每一个映射关系(结婚证)放入到Set集合中.
    3:遍历Set集合,获取每个映射关系 Entry<K,V>.
    4:使用 Entry<K,V> 中的方法 getKey 和 getValue 获取键和值

    ★注意:使用自定义类型作为Map集合的键Key 时, 必须要重写hashcode 和 equals . 来保证key 的唯一性.

    Map集合中的实现类:


    ◆ HashMap<K,V> 线程不安全,运行速度快

    底层数据结构是哈希表,特点 无序.由于要保证键的唯一,不重复,需要重写键的 hashcode() 方法 和 equals()方法.

    ◆ LinkedHashMap<K,V> 继承(extends) HashMap

    底层数据结构为哈希表_链表结构.特点: 有序,不重复.由于要保证键的唯一,不重复,需要重写键的 hashcode() 方法 和 equals()方法.

    ◆ Hashtable 线程安全,运行速度慢

    和HashMap一样. JDK1.2开始被 HashMap取代. 特点 不能存 null 值.

    虽然Hashtable被取代了,但是他的子类 Properties 依然活跃在开发的舞台.

    可变参数:

    JDK1.5之后出来的新特性. 可以接受多个同类型的参数.
    底层就是一个数组

    格式: 修饰符 返回值类型 方法名 (参数类型...形参名){ }

    ★注意: 1:一个方法的参数,只能使用一个可变参数
    2:如果方法的参数有多个,可变参数必须写在参数列表的末尾.

    Arrays数组工具类:

    用来对数组进行操作,是一个静态方法,直接类名.方法名调用.

    返回值:Object binarySearch(Object[] a, Object key) 使用二分法查找法来查找指定的元素,没有则会返回(1(插入点)-1).
    返回值:Object[] copyOfRange(旧数组,要复制的开始索引,新数组,索引,复制几个) 将指定的数组的指定返回复制到一个新的数组.
    sort(Object[] o) 对指定的数组进行升序排序
    返回值:String tostring(Object[] o) 返回指定数组内容的字符串表示形式.

    Collections集合工具类:

    用来对集合进行操作,是一个静态方法. 直接类名.方法名调用.

    没有返回值 shuffle(List<?> list) 将集合中的顺序打乱.
    没有返回值 sort(List<T> list) 传一个集合,对集合进行升序排序.

  • 相关阅读:
    Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1
    paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
    paip. 定时 关机 休眠 的总结
    Paip.Php Java 异步编程。推模型与拉模型。响应式(Reactive)”编程FutureData总结... 1
    paip.java 注解的详细使用代码
    paip.不同目录结构哈的文件批量比较
    paip.cache 缓存架构以及性能提升总结
    paip.消除 Java 的冗长try/catch/finally
    paip 自定义输入法多多输入法词库的备份导出以及导入
    paip.java c++得到当前类,方法名称以及行号
  • 原文地址:https://www.cnblogs.com/jia-/p/6995368.html
Copyright © 2011-2022 走看看