• Map相关内容


    Map 方法
    Map 是一个 接口 public interface Map<K,V>
    里面的方法有:
    int size();
    boolean isEmpty();
    boolean containsKey(Object key);
    boolean containsValue(Object value);
    V get(Object key);
    V put(K key, V value);
    V remove(Object key);
    void putAll(Map<? extends K, ? extends V> m);
    void clear();
    Set<K> keySet();
    Collection<V> values();
    Set<Map.Entry<K, V>> entrySet();
    boolean equals(Object o);
    int hashCode();
    ......
    interface Entry<K,V> { Entry为Map接口中的内部接口
    提供 方法有:
    K getKey();
    V getValue();
    V setValue(V value);
    boolean equals(Object o);
    int hashCode();

    public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey() {
    return (Comparator<Map.Entry<K, V>> & Serializable)
    (c1, c2) -> c1.getKey().compareTo(c2.getKey());
    }

    public static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue() {
    return (Comparator<Map.Entry<K, V>> & Serializable)
    (c1, c2) -> c1.getValue().compareTo(c2.getValue());
    }

    public static <K, V> Comparator<Map.Entry<K, V>> comparingByKey(Comparator<? super K> cmp) {
    Objects.requireNonNull(cmp);
    return (Comparator<Map.Entry<K, V>> & Serializable)
    (c1, c2) -> cmp.compare(c1.getKey(), c2.getKey());
    }

    public static <K, V> Comparator<Map.Entry<K, V>> comparingByValue(Comparator<? super V> cmp) {
    Objects.requireNonNull(cmp);
    return (Comparator<Map.Entry<K, V>> & Serializable)
    (c1, c2) -> cmp.compare(c1.getValue(), c2.getValue());
    }
    }


    int size(); 方法是检索Map集合中包含多少条数据

    boolean isEmpty();
    该方法判断Map集合对象是否包含内容,也就是判断该Map集合容器是不是空的。
    该方法返回值为bolean对象,如果Map集合对象不包含任何内容,则返回true,否则返回false。

    boolean containsKey(Object key);
    该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。

    boolean containsValue(Object value);
    该方法判断Map集合中是否包含指定的键值。如果Map集合中包含指定的键值对象,则返回true,否则返回false。
    value:要查询的Map集合的指定键值对象

    V get(Object key);
    根据指定的键 找出对应的值

    V put(K key, V value);
    添加一个键值对

    V remove(Object key);
    根据 Map中的键 删除键值对

    void putAll(Map<? extends K, ? extends V> m);
    该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象。
    结论:putAll可以合并两个MAP,只不过如果有相同的key那么用后面的覆盖前面的

    void clear()
    Map.clear方法——从Map集合中移除所有映射关系。执行该方法后,该集合对象的映射内容将为空。


    Set<K> keySet();
    该方法将获取Map集合的所有键名,并存放在一个Set集合对象中。

    遍历Map的方式: Map.Entry 和 Map.entrySet()
    Map<String,String> map=new HashMap<String,String>();
    map.put("1", "张三");
    map.put("2", "李四");
    map.put("3", "王五");

    System.out.println("方法一:");
    Iterator iterator=map.entrySet().iterator();
    while(iterator.hasNext()){
    Map.Entry<String, String> entry= (Entry<String, String>) iterator.next();
    System.out.println("key:"+entry.getKey()+" value"+entry.getValue());
    }

    System.out.println("方法二:");
    for (Map.Entry<String, String> m : map.entrySet()) {
    System.out.println("key:"+m.getKey()+" value"+m.getValue());
    }
    }
    }

  • 相关阅读:
    fedora 20 install skype
    WebsitePanel(wsp)配置详解(安装指南)
    【转】SQL Server 2008下载 (附注册码)
    SQL SERVER树型数据处理时,函数递归调用问题,查询根节点,子节点函数
    150 Opening ASCII mode data connection. FTP连接的PASV和PORT方式
    如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
    DZ!NT论坛 3.6.711删除用户各种错解决方案
    在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
    OpenStack Nova 制作 Windows 镜像
    HttpWebRequest访问时,错误:(401)未经授权。
  • 原文地址:https://www.cnblogs.com/wcnwcn/p/7244859.html
Copyright © 2020-2023  润新知