HashMap和TreeMap的区别

来源:互联网 发布:页游推荐 知乎 编辑:程序博客网 时间:2024/05/20 22:26

HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。


HashMap:数组方式存储key/value,线程非安全,允许null作为key和value,key不可以重复,value允许重复,不保证元素迭代顺序是按照插入时的顺序,key的hash值是先计算key的hashcode值,然后再进行计算,每次容量扩容会重新计算所以key的hash值,会消耗资源,要求key必须重写equals和hashcode方法

默认初始容量16,加载因子0.75,扩容为旧容量乘2,查找元素快,如果key一样则比较value,如果value不一样,则按照链表结构存储value,就是一个key后面有多个value;

TreeMap:基于红黑二叉树的NavigableMap的实现,线程非安全,不允许null,key不可以重复,value允许重复,存入TreeMap的元素应当实现Comparable接口或者实现Comparator接口,会按照排序后的顺序迭代元素,两个相比较的key不得抛出classCastException。主要用于存入元素的时候对元素进行自动排序,迭代输出的时候就按排序顺序输出

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 延吉冷面 冷面怎么吃 热汤冷面 东北烤冷面 韩式冷面 冷面汤 沛县冷面 冷面怎么煮 考冷面 冷面的吃法 凉拌冷面 鸡西冷面 韩国冷面 怎么做冷面 朝鲜冷面汤 冷面怎么做 拌冷面 家常冷面 冷面热做 吉林冷面 学做冷面 朝族冷面 北京冷面 东北大冷面 冷面大王 冷面妻主 冷面人 干冷面 大冷面 冷面少帅很腹黑 烤冷面的做法 绝色毒妃冷面寒王傲娇宠 冷面老公爱上 冷面老公爱上我 冷面总裁强宠妻 冷面老公爱我陆瑶 冷面将军娘子喊你回家种田 医妃倾天下冷面王爷和离吧 医妃倾天下冷面王爷 冷面老公爱上我免费阅读 冷面王爷和离吧