打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HashMap、Hashtable、LinkedHashMap、SynchronizedMap、TreeMap
一般情况下,我们用的最多的是HashMap,hashmap用key的hash值来存储元素。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列.
  HashMap是一个最常用的Map,它根据键的hashCode值存储数
据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。
  HashMap不支持线程同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致性。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力;也可以在jdk1.5以上,用concurrentHashmap来代替hashtable,扩展性好。
  Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
  LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。
  在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
map集合的比较
阿里面试官必问21 个刁钻的HashMap 面试题,这次让你彻底搞懂
Java之HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap简单的区别
Java程序员集合框架面试题
Java提高篇之集合大家族(转自http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651477362&idx=2&sn=c14dba95937
两万字长文读懂 Java 集合!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服