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) 传一个集合,对集合进行升序排序.

  • 相关阅读:
    wince 下,拨号成功,但不能打开网页的问题
    Wince platform configure filesdetail
    WINCE ERRORMSG
    wince 6 s3c2440 io port opearation
    wince 6 kernel configure files
    赞cnblogs
    WINCE DEBUGMSG
    POJ3249 Test for Job DAG最短路
    HDU4552 怪盗基德的挑战书 KMP | 后缀数组 | 暴力
    HDU4554 叛逆的小明 水题
  • 原文地址:https://www.cnblogs.com/jia-/p/6995368.html
Copyright © 2011-2022 走看看