`

java.util.Map接口的实现类的区别

阅读更多
  1. java为数据结构中的映射定义了一个接口java.util.Map;Map主要用于存储健值对,根据键得到值,因此不允许键重复,但允许值重复。它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap:   
  2.   
  3. 1.Hashmap 是一个 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。   
  4.   
  5. 2.Hashtable 与 HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了 Hashtable在写入时会比较慢。   
  6.   
  7. 3.LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢,不过有种情况例外,当HashMap容量很大,实际数据较少时,遍历起来可能会比LinkedHashMap慢,因为 LinkedHashMap的遍历速度只和实际数据有关,和容量无关,而HashMap的遍历速度和他的容量有关。   
  8.   
  9. 4.TreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。  
分享到:
评论

相关推荐

    java.util 包 是Java中很大的一个集合

    运用下列类进行JAVA编程: Date Calendar Random 使用 Collection 接口及其实现类 ArrayList LinkedList 使用 HashMap 使用Vector 等方法的使用

    set.list.map接口

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表<接口>)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: ...

    Java调用百度人脸对比接口进行人脸(图片)对比

    前三步和人脸检测代码一样 ...第四步 Token和工具类准备完毕,写人脸对比代码 2张对比图片 FaceMatch类 ...import java.util.Map; public class FaceMatch{ /** * 重要提示代码中所需工具类 * FileUtil,Ba

    Java基础知识点总结.docx

    < java.util >Map接口 81 把map集合转成set的方法 82 使用集合的技巧 83 Collections--集合工具类 83 Arrays—数组对象工具类 84 增强for循环 85 可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 ...

    JAVA Map集合类源码说明

    java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。 List 适用...

    java中map集合的用法.doc

    本文档主要讲述的是java中map集合的用法;Map 提供了一个更通用的元素存储方法。...本文将着重介绍核心 Java 发行套件中附带的 Map,同时还将介绍如何采用或实现更适用于您应用程序特定数据的专用 Map。

    trove:Trove 3库的修补版本-更改Collections语义以匹配适当的java.util.Map语义

    宝库3.0.3 Trove库的修补版本-更改Collections语义以匹配适当的java.util.Map语义Palantir Technologies已对该库进行了修补,以进行以下更改: 分支由Palantir Gotham 3.12.x使用: Trove的一系列装饰器的实现,这些...

    java中map集合的用法

    java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。 List 适用...

    Java实现的执行python脚本工具类示例【使用jython.jar】

    本文实例讲述了Java实现的执行python脚本工具类。分享给大家供大家参考,具体如下: 这里java中执行python脚本工具类,需要使用jython.jar java中执行python脚本工具类,学习的时候写着玩: import java.io....

    java编程宝典

    2) 实现 Runnable 接口,数据可以共享(推荐) 15 2.每两秒钟生成一个验证码 17 2. 抽奖小程序 21 5工具类 31 4.1 如何将一个java.util.Date转成一个java.sql.Date 31 4.2 如何将一个String转成一个java.util.Date ...

    Java Map 集合类简介

    java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List ...

    LargeCollections

    LargeCollections 支持由 LevelDB 支持的 java.util.Map、java.util.List 和 java.util.Set 实现。 这允许您的集合增长得非常大,因为它不使用 JVM 堆内存。 应该浏览此项目的以获取更多信息。 #关键设计原则# ...

    J2EE开发全程实录(JAVA项目开发)

    2.2.4 Java中的Map接口... 20 2.3 HashMap. 21 2.3.1 应用举例... 21 2.3.2 Map与HashCode. 26 2.4 使用缓存... 29 2.4.1 缓存的概念... 29 2.4.2 LRUMap类... 30 第3章 AOP. 33 3.1 AOP概论... 33 3.2 AspectJ. 35 ...

    java核心知识点整理.pdf

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

    Java 面试宝典

    抽象类是否可实现(implements)接口? 抽象类是否可继 承具体类(concrete class)? 抽象类中是否可以有静态的 main 方法? ...................... 16 21、写 clone()方法时,通常都有一行代码,是什么? ..............

    Android编写文件浏览器简单实现

    有时候我们保存文件总会用到文件浏览器功能....import java.util.Map; import android.util.Log; public class FileUtils { /** * 获取当前目录下的所有文件或文件夹 * @param path 路径 * @return */

    颜色分类leetcode-decision-tree:从零开始实现决策树引擎

    颜色分类leetcode 决策树 从零开始实现决策树引擎 简单的演示 安装 从下载dec_tree_demo.jar 从命令行启动演示: ...java.util.Map ; import java.util.Random ; import java.util.logging.Logger ;

    通用工具类

    8.利用反射机制进行排序工具类,支持数组、List、Set、Map的排序,可以支持多属性排序,支持子对象中的属性排序(例user对象中的role的name属性进行排序,method="role.name") 9.JVM参数获取工具 10.Java对象比较、...

Global site tag (gtag.js) - Google Analytics