博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HashTable、HashMap、LinkedHashMap、TreeMap的比较
阅读量:6253 次
发布时间:2019-06-22

本文共 493 字,大约阅读时间需要 1 分钟。

HashTable:继承自Dictionary类,实现了Map接口,不允许键或值为空,线程同步;

HashMap:继承自AbstractMap类,实现了Map接口,允许键或值为空,线程不同步;

LinkedHashMap:继承自HashMap类,实现了Map接口,允许键或值为空,并且保存了记录的插入的顺序,线程不同步。

TreeMap:继承自AbstractMap类,实现了SortedMap接口,能够根据键进行排序,也可以指定排序的比较器(实现Comparator接口)。

若想Map同步可以使用Collections中的方法synchronizedMap。

 

备注:若是将结果存储在HashMap中,最后极有与数据库中排序结果不同,因为HashMap最后是按其Key的Hash值排序的;最好是用LinkedHashMap,其是继承了HashMap,并且维护一个双向链表(具体来说是循环链表),用于记录当前元素以及其上一个元素和其下一个元素,故能够记录下其添加进来的顺序。

转载于:https://www.cnblogs.com/xiaoxian1369/p/4042424.html

你可能感兴趣的文章
sed 学习
查看>>
想要成功,请记住!
查看>>
解决Div自适应高度的方法(转)
查看>>
细数国外的你必须要知道的远程工作平台
查看>>
判断一个程序是c++编译还是c编译
查看>>
(20120722)(笔记001)android开发基础
查看>>
window.opener=null 不需确认就能关闭窗口
查看>>
Spring4-松耦合实例
查看>>
封装方法实现react更新元素示例
查看>>
windows 2003 IIS 配置支持 CGI
查看>>
mysql 多线程写入后查询丢失数据的一个bug
查看>>
SQLIOSim 模拟SQLServer的行为来测试IO性能
查看>>
更改activity组件切换的动画
查看>>
周鸿祎在360新员工入职培训上的讲话
查看>>
网页基础编程第十章
查看>>
centos7 命令行版本 安装 teamviewer
查看>>
修复XP注册表文件system损坏故障
查看>>
每周一书
查看>>
Java代码规范那些事
查看>>
我的友情链接
查看>>