zoukankan      html  css  js  c++  java
  • Java集合----Map集合

    Map

    Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value
    Map 中的 key 和 value 都可以是任何引用类型的数据
    Map 中的 Key 不允许重复,即同一个 Map 对象的任何两个 Key 通过 equals 方法比较中返回 false
    Key 和 Vlaue 之间存在单向一对一关系,即通过指定的 Key 总能找到唯一的,确定的 Value。


    Map 常用方法

    HashMap & Hashtable


    HashMap 和 Hashtable 是 Map 接口的两个典型实现类
      区别:
      Hashtable 是一个古老的 Map 实现类,不建议使用
      Hashtable 是一个线程安全的 Map 实现,但 HashMap 是线程不安全的。
      Hashtable 不允许使用 null 作为 key 和 value,而 HashMap 可以
      与 HashSet 集合不能保证元素的顺序的顺序一样,Hashtable 、HashMap 也不能保证其中 key-value 对的顺序
      Hashtable 、HashMap 判断两个 Key 相等的标准是:两个 Key 通过 equals 方法返回 true,hashCode 值也相等。
      Hashtable 、HashMap 判断两个 Value相等的标准是:两个 Value 通过 equals 方法返回 true

    LinkedHashMap
      LinkedHashMap 是 HashMap 的子类
      LinkedHashMap 可以维护 Map 的迭代顺序:迭代顺序与 Key-Value 对的插入顺序一致

    Properties
      Properties 类是 Hashtable 的子类,该对象用于处理属性文件
      由于属性文件里的 key、value 都是字符串类型,所以 properties 里的 Key 和 Value 都是字符串类型的

    TreeMap


    TreeMap 存储 Key-Value 对时,需要根据 Key 对 key-value 对进行排序。TreeMap 可以保证所有的 Key-Value 对处于有序状态。
    TreeMap 的 Key 的排序:
      自然排序:TreeMap 的所有的 Key 必须实现 Comparable 接口,而且所有的 Key 应该是同一个类的对象,否则将会抛出ClasssCastException
      定制排序:创建 TreeMap 时,传入一个 Comparator 对象,该对象负责对 TreeMap 中的所有 key 进行排序。此时不需要 Map 的 Key 实现 Comparable 接口

  • 相关阅读:
    MVC中使用AuthorizeAttribute做身份验证操作
    Entity Framework 5.0 Code First全面学习
    AngularJs学习教程
    安装完Oracle数据库,给scott账户解锁方法
    Signalr学习教程
    javascript学习教程【Qi Fei】
    并行开发
    MongoDB教程【一】
    统计学习概念
    自学Python的点滴
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7234409.html
Copyright © 2011-2022 走看看