zoukankan      html  css  js  c++  java
  • Map接口的使用

    1方法说明

      void clear()

      从此映射中移除所有映射关系(可选操作)。

      boolean containsKey(Object key)

      如果此映射包含指定键的映射关系,则返回 true

      boolean containsValue(Object value)

      如果此映射将一个或多个键映射到指定值,则返回 true

      Set<Map.Entry<K,V>> entrySet()

      返回此映射中包含的映射关系的 Set 视图。

      boolean equals(Object o)

      比较指定的对象与此映射是否相等。

      V get(Object key)

      返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null

      int hashCode()

      返回此映射的哈希码值。

      boolean isEmpty()

      如果此映射未包含键-值映射关系,则返回 true

      Set<K> keySet()

      返回此映射中包含的键的 Set 视图。

      V put(K key, V value)

      将指定的值与此映射中的指定键关联(可选操作)。

      void putAll(Map<? extends K,? extends V> m)

      从指定映射中将所有映射关系复制到此映射中(可选操作)。

      V remove(Object key)

      如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

      int size()

      返回此映射中的键-值映射关系数。

      Collection<V> values()

      返回此映射中包含的值的 Collection 视图。

    Map的一般用法

    1.声明一个Map :

       Map map = new HashMap();

    2 .向map中放值 注意: mapkey-value的形式存放的,如:

           map.put("sa","dd");

    3 .从map中取值 :

        String str = map.get("sa").toString,

        结果是: str = "dd'

    添加、删除操作:

    Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null

    Object remove(Object key): 从映像中删除与key相关的映射

    void putAll(Map t): 将来自特定映像的所有元素添加给该映像

    void clear(): 从映像中删除所有映射

    “键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。”

    查询操作:

    Object get(Object key): 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null

    boolean containsKey(Object key): 判断映像中是否存在关键字key

    boolean containsValue(Object value): 判断映像中是否存在值value

    int size(): 返回当前映像中映射的数量

    boolean isEmpty() :判断映像中是否有任何映射

    视图操作 :处理映像中键/值对组

    Set keySet(): 返回映像中所有关键字的视图集

    “因为映射中键的集合必须是唯一的,您用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”

    Collection values():返回映像中所有值的视图集

    “因为映射中值的集合不是唯一的,您用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”

    Set entrySet(): 返回Map.Entry对象的视图集,即映像中的关键字/值对

    “因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”

    7. HashMap类和TreeMap

    “集合框架”提供两种常规的Map实现:HashMapTreeMap (TreeMap实现SortedMap接口)。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。使用HashMap要求添加的键类明确定义了hashCode()equals()的实现。

    这个TreeMap没有调优选项,因为该树总处于平衡状态。

    7.1. HashMap

    为了优化HashMap空间的使用,您可以调优初始容量和负载因子。

    (1) HashMap(): 构建一个空的哈希映像

    (2) HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映射

    (3) HashMap(int initialCapacity): 构建一个拥有特定容量的空的哈希映像

    (4) HashMap(int initialCapacity, float loadFactor): 构建一个拥有特定容量和加载因子的空的哈希映像

    7.2. TreeMap

    TreeMap没有调优选项,因为该树总处于平衡状态。

    (1) TreeMap():构建一个空的映像树

    (2) TreeMap(Map m): 构建一个映像树,并且添加映像m中所有元素

    (3) TreeMap(Comparator c): 构建一个映像树,并且使用特定的比较器对关键字进行排序

    (4) TreeMap(SortedMap s): 构建一个映像树,添加映像树s中所有映射,并且使用与有序映像s相同的比较器排序

  • 相关阅读:
    tasker支持的shell 命令大全
    crx 文件安装 如何安装 Chrome插件
    python mac地址计算
    Java线程池
    springMVC请求过程
    java中特殊的String类型
    单例模式和多例模式
    hash算法学习
    arraylist和linkedlist的简单比较
    乐观锁和悲观锁
  • 原文地址:https://www.cnblogs.com/yhsj/p/4918341.html
Copyright © 2011-2022 走看看