zoukankan      html  css  js  c++  java
  • Map接口特点

    1)Map与Collection并列存在,用于保存具有映射关系的数据:key-value

    2)  Map中的key不可以重复,但value可以重复。如果第二次放入的和前面的key一样,但value不一样,相当于替换。

    3)Map中的key和value都可以为null,但注意key为null的情况只能有一个,而value为null的情况可以有多个。

    4)常用String类作为Map的key

    5)  key和value之间 存在单向一对一关系,通过key一定能找到value

    6)Map存放数据的key-value示意图

     

    一对k-v是放在一个HashMap$Node中的,又因为Node实现了Entry接口,有些也说一对k-v就是一个Entry

     1)k-v最后是HashMap$Node node = newNode(hash,key,value,null)

    2) k-v 为了方便程序员的遍历,还会创建EntrySet集合,该集合存放的元素的类型Entry,而一个Entry

    对象就有k,v EntrySet<Entry<k,v>>,即: transient Set<Map.Entry<k,v>> entrySet

    3)entrySet中,定义的类型是Map.Entry,但是实际上存放的还是HashMap$Node

    这是因为 static class Node<k,v> implements Map.Entry<k,v>

    4)当把HashMap$Node 对象存放到entrySet 就方便我们遍历,因为Map.Entry提供了重要方法 k getKey();v getValue();

  • 相关阅读:
    git命令总结
    Junit
    zookeeper--概述
    NIO与Socket
    分区分表
    ThreadLocal
    垃圾收集器
    垃圾收集算法
    主从复制
    Redis--集群
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14802263.html
Copyright © 2011-2022 走看看