栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础之Map集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础之Map集合

Map:主要用于键值对,根据健得到值,因此不允许健重复(重复的话,那就覆盖)

HashMap:他是一个最常用的Map,他根据健的HashCode值存储数据,根据健可以直接获取他的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的健为NULL;允许多条记录的值为NULL;HashMap不支持多线程的同步,即任意时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步的话,可以用Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。

精华:
1.HashMap 具有很快的访问速度,
2.最多只允许一个健为NUll;值为不为NULL无所谓
3.HashMap不支持多线程的同步,如果想要使用多线程,可以使用synchronizedMap方法让他具有同步能力

Hahstable:它与HashMap类似,他继承自Dictionary类,她不允许记录的健或者值为NULL,它支持线程的同步,即任意时刻只有一个线程能写HashTable,因此也导致了Hashtable在写入的时候会比较慢

她不允许记录的健或者值为NULL
它支持线程的同步

linkedHashMap:它是HashMap的一个子类,保存了记录的插入顺序,在用iterator便利linkedHashMap的时候,先得到的记录肯定是先插入的,也可以在构造时用带参数,按照应用次数排序,在便利的时候会比HashMap慢,不过有种情况例外,当HashMap容量较大,实际较少的时候,遍历起来可能会比linkedHashMap慢,因此linkedHashMap的便利速度只和实际数据有关,和容量无关,而HashMap的便利速度和他的容器有关

精华:
linkedHashMap保存了记录的插入顺序,在用iterator便利linkedHashMap的时候,先得到的记录肯定是先插入的,在便利的时候可能会比HashMap慢

-Treemap:它实现了SortMap接口,能够把它保存的记录根据健排序,默认是按照健的生序排序,也可以指定排序的比较器,当用iterator便利TreeMap的时候,得到的记录是排过序的。

精华:
TreeMap能够把它保存的记录根据健进行排序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721308.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号