HashTable HashMap TreeMap 本质区别与使用区别 个人解析

本文对比了HashTable、HashMap和TreeMap的区别,包括线程安全性、空键值支持、默认大小及增长方式等,并讨论了它们在不同场景下的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HashTable HashMap TreeMap 本质区别

1.      hashTable 线程安全  不允许有null的键和值  效率低  方法是Synchronized的

        HashTable 数组默认大小是11  增加方式为 old*2+1

        HashTable 使用Enumeration(枚举)方式实现

2.      HashMap  线程不安全  允许有null的键和值  效率高一点  方法不是Synchronize要提供的同步

        HashMap  数组默认大小是16  增长方式是2的指数倍

        HashMap  使用Interator(迭代方式)调用

3.      TreeMap 能够保存记录 按照键排序 默认升序排序

 

HashTable HashMap TreeMap 使用区别

1.      HashMap 的元素排序方式不固定 (通过hashcode对其内容进行快速查找)

        TreeMap 的元素都保持固定排序模式

2.      HashMap 适用于 在Map中插入 删除 定位元素

        TreeMap  适用于按照自然顺序或自定义排序遍历键key

分析: 一般情况 HashMap比TreeMap 快一些  若需要排序的Map 才使用TreeMap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值