码迷,mamicode.com
首页 > 其他好文 > 详细

Map 接口简明

时间:2018-04-14 12:32:59      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:nts   ring   value   方式   map   dha   clear   nsvalue   contain   

Map 接口并没有继承Collection接口


HashMap : 哈希表数据结构,是线程不同步的,快速。允许存储 null 键,null 值。替代了 Hashtable
LinkedHashMap:见LinkedHashMap简明
TreeMap :搜索树数据结构,可以对 map 集合中的键进行指定顺序的排序。允许存放 null 键,null 值。
Hashtable :哈希表数据结构,是线程同步的,慢速。不可以存储 null 键,null 值。


  • 添加。
    put (key,value):当存储的键相同时,新的值会替换旧值,并返回旧值。如果键不重复,返回 null。
    void putAll (Map)
  • 删除。
    void clear ():清空
    value remove (key) :删除指定键。
  • 判断。
    boolean isEmpty ():是否为空
    boolean containsKey (key):是否包含 key
    boolean containsValue (value) :是否包含 value
  • 取出。
    Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。
    int size ():返回长度
    value get (key) :通过指定键获取对应的值。
    Set<K> keySet() 返回映射表中所有键的集视图。
    Collection<V> values() 返回映射表中所有值得集合视图。
    Set< Map.Entry<K,V>> entrySet() 返回Map.Entry对象的集视图,即映射表中的键值对。

取出 map 集合中所有元素的方式一: keySet() 方法。可以将 map 集合中的键都取出存放到 set 集合中。对 set 集合进行迭代。迭代完成,再通过 get 方法进行值的获取。

Map<String, Employee> staff = new HashMap<>(); // HashMap implements Map
        Employee harry = new Employee("Harry Hacker");
        staff.put("978-98-9996", harry);
        Set<String> akeySet = staff.keySet();
        Iterator<String> it = akeySet.iterator();
        while(it.hasNext()) {
            String key = it.next();
            Employee value = staff.get(key);
            System.out.println(key + ":" + value);
        }

取出 map 集合中所有元素的方式二: entrySet() 方法。

for(Map.Entry<String,Employee> entry : staff.entrySet()){
            String key = entry.getKey();
            Employee value = entry.getValue();
            System.out.println(key+":"+value);
            }

--------------------------------------------------------

Map 接口简明

标签:nts   ring   value   方式   map   dha   clear   nsvalue   contain   

原文地址:https://www.cnblogs.com/LittleTreasureBox/p/8830999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!