zoukankan      html  css  js  c++  java
  • 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());
    }
    }
    }

  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/wcnwcn/p/7244859.html
Copyright © 2011-2022 走看看