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

       Map

    Map接口实现的是一组Key-Value的键值对的组合。 Map接口不直接继承于Collection接口,因为它包装的是一组成对的“键-值”对象的集合,而且在Map接口的集合中也不能有重复的key出现,因为每个键只能与一个成员元素相对应。

    Map有两种比较常用的实现:HashMap和TreeMap等。

    HashMap:基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals(),为了优化HashMap空间的使用,您可以调优初始容量和负载因子。

    (1)HashMap(): 构建一个空的哈希映像

    (2)HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映射

    (3)HashMap(int initialCapacity): 构建一个拥有特定容量的空的哈希映像

    (4)HashMap(int initialCapacity, float loadFactor): 构建一个拥有特定容量和加载因子的空的哈希映像

    TreeMap:基于红黑树实现。TreeMap没有调优选项,因为该树总处于平衡状态。

    (1)TreeMap():构建一个空的映像树

    (2)TreeMap(Map m): 构建一个映像树,并且添加映像m中所有元素

    (3)TreeMap(Comparator c): 构建一个映像树,并且使用特定的比较器对关键字进行排序

    (4)TreeMap(SortedMap s): 构建一个映像树,添加映像树s中所有映射,并且使用与有序映像s相同的比较器排序

     

    两种常规Map性能

    HashMap:适用于在Map中插入、删除和定位元素。

    Treemap:适用于按自然顺序或自定义顺序遍历键(key)。

     

    总结

    HashMap通常比TreeMap快一点(树和哈希表的数据结构使然),建议多使用HashMap,在需要排序的Map时候才用TreeMap。

  • 相关阅读:
    设计模式学习总结系列应用实例
    【研究课题】高校特殊学生的发现及培养机制研究
    Linux下Oracle11G RAC报错:在安装oracle软件时报file not found一例
    python pro practice
    openstack python sdk list tenants get token get servers
    openstack api
    python
    git for windows
    openstack api users list get token get servers
    linux 流量监控
  • 原文地址:https://www.cnblogs.com/cyhzzu/p/6443879.html
Copyright © 2011-2022 走看看