java集合Map&HashMap

Posted 追恋KG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合Map&HashMap相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/u011240877/article/category/6447444/1

Map 接口提供了三种角度来分析 Map:

  • KeySet:KeySet 是一个 Map 中键(key)的集合,以 Set 的形式保存,不允许重复,因此键存储的对象需要重写 equals() 和 hashCode() 方法。可以通过 map.keySet() 方法获得。  
  •      使用 keySet 遍历:    
  • Set set = map.keySet();
        for (Object key : set) {
            System.out.println(map.get(key));
        }
  •  

  • Values:Values 是一个 Map 中值 (value) 的集合,以 Collection 的形式保存,因此可以重复。可以通过map.values() 方法获得。
  •      使用 values 遍历:
  •      Collection values = map.values();
        Iterator iterator = values.iterator();
        while (iterator.hasNext()){
            System.out.println("value " + iterator.next());
        }
  • Entry:Entry 是 Map 接口中的静态内部接口,表示一个键值对的映射,例如key1-value1这一组映射关系。
  •      
    • getKey() , 获取这组映射中的键 key
    • getValue() , 获取这组映射中的值 value
    • setValue() , 修改这组映射中的值
    • hashCode() , 返回这个 Entry 的哈希值
    • equals() , 对比 key-value 是否相等

    通过 Map.entrySet() 方法获得的是一组 Entry 的集合,保存在 Set 中,所以 Map 中的 Entry 也不能重复。

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

    使用 Entry 遍历

  • Set entrySet = map.entrySet();
        for (Object o : entrySet) {
            Map.Entry entry = (Map.Entry) o;
            System.out.println(entry);      //key=value
            System.out.println(entry.getKey() + " / " + entry.getValue());
        }
  • ******************************************************************************************************************************
  •  

以上是关于java集合Map&HashMap的主要内容,如果未能解决你的问题,请参考以下文章

Java集合数据结构——HashMap&HashSet

Java集合框架 Map接口实现类--HashMap源码分析 & HasmMap与HashSet的关系 & HashTable & Properties(HashTable 的

JAVA零基础小白学习免费教程day14-Set&HashMap

JAVA零基础小白学习免费教程day14-Set&HashMap

Java学习笔记5.4.1 Map接口 - HashMap类

干货分享丨集合框架之HashMap底层实现原理