Java:TreeMap中LinkedHashMap和Map中HashMap的区别
2024-10-19 08:51:27
一般情况下,我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。
但如果您要bai按自然顺序或自定义顺序遍历键,那么TreeMap会更好。如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列。
HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。
HashMap不支持线程同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致性。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。
Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。
在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。
最新文章
- Rehosting the Workflow Designer
- px 和 em
- Android应用中使用AsyncHttpClient来异步网络数据(转载)
- SQL时间戳的使用
- C# winForm 窗体闪烁问题
- yum node.js
- VHDL数据类型转换
- 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- Java和Flex整合报错(三)
- 传统定时器技术 Timer and TimerTask
- 第29月第18天 mac evpp环境
- GNU C和C99标准中的可变参数宏(variadic macros)
- 特征选择 (feature_selection)
- 08-java学习-数组-增强for循环-数组与方法-main函数参数
- tableview 选中一行后,不显示选中颜色
- SimpleDateFormat格式化日期以及日期的相关操作
- 20145313张雪纯 《Java程序设计》第4周学习总结
- IOS UI-模态视图
- ios View之间的切换 屏幕旋转
- python3----函数(map)