目录
1、HashMap vs TreeMap
2、HashMap简介
3、Java HashMap 与TreeMap方法
4、HashMap例题 2019蓝桥杯B组JAVA 试题G: 外卖店优先级
5、TreeMap例题 统计词频
6、java面试题之HashMap和TreeMap
1、HashMap vs TreeMap
Map:在数组中是通过数组下标来对 其内容进行索引的,而Map是通过对象来对 对象进行索引的,用来 索引的对象叫键key,其对应的对象叫值value;
1、HashMap是通过hashcode()对其内容进行快速查找的;HashMap中的元素是没有顺序的;
TreeMap中所有的元素都是有某一固定顺序的,如果需要得到一个有序的结果,就应该使用TreeMap;
2、HashMap和TreeMap都不是线程安全的;
3、HashMap继承AbstractMap类;覆盖了hashcode() 和equals() 方法,以确保两个相等的映射返回相同的哈希值;
TreeMap继承SortedMap类;他保持键的有序顺序;
4、HashMap:基于hash表实现的;使用HashMap要求添加的键类明确定义了hashcode() 和equals() (可以重写该方法);为了优化HashMap的空间使用,可以调优初始容量和负载因子;
TreeMap:基于红黑树实现的;TreeMap就没有调优选项,因为红黑树总是处于平衡的状态;
5、HashMap:适用于Map插入,删除,定位元素;
TreeMap:适用于按自然顺序或自定义顺序遍历键(key);
2、HashMap简介
- HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
- HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
- HashMap 是无序的,即不会记录插入的顺序。
- HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
HashMap 类位于 java.util 包中,使用前需要引入它,语法格式如下:
创建一个 HashMap 对象 Sites, 整型(Integer)的 key 和字符串(String)类型的 value:
创建一个 HashMap 对象的数组a
3、Java HashMap 与TreeMap方法
Java HashMap 常用方法列表如下:(TreeMap方法与HashMap 方法大致一样)
4、HashMap例题 2019蓝桥杯B组JAVA 试题G: 外卖店优先级
oj:http://oj.ecustacm.cn/problem.php?id=1458
“饱了么”外卖系统中维护着N 家外卖店,编号1 N。每家外卖店都有一个优先级,初始时(0 时刻) 优先级都为0。每经过1 个时间单位,如果外卖店没有订单,则优先级会减少1,最低减
到0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加2。如果某家外卖店某时刻优先级大于5,则会被系统加入优先缓存中;如果优先级小于等于3,则会被清除出优先缓存。给定T 时刻以内的M 条订单信息,请你计算T 时刻时有多少外卖店在优
先缓存中。
【输入格式】
第一行包含3 个整数N、M 和T。以下M 行每行包含两个整数ts 和id,表示ts 时刻编号id 的外卖店收到一个订单。
【输出格式】输出一个整数代表答案。
【样例输入】
2 6 6
1 1
5 2
3 1
6 2
2 1
6 2
【样例解释】6 时刻时,1 号店优先级降到3,被移除出优先缓存;2 号店优先级升到6,加入优先缓存。所以是有1 家店(2 号) 在优先缓存中。
5、TreeMap例题 统计词频
6、java面试题之HashMap和TreeMap
1.HashMap和TreeMap的异同点?
相同点:
- 都是以key和value的形式存储;
- key不可以重复;
- 都是线程不安全的;
不同点:
- HashMap的key可以为空
- TreeMap的key值是有序的(使用了红黑树的二叉树结构存储的Entry)
2.如何决定使用HashMap还是TreeMap?
- HashMap基于散列桶(数组和链表)实现;TreeMap基于红黑树实现。
- HashMap不支持排序;TreeMap默认是按照Key值升序排序的,可指定排序的比较器,主要用于存入元素时对元素进行自动排序。
- HashMap大多数情况下有更好的性能,尤其是读数据。在没有排序要求的情况下,使用HashMap。

我的妈呀!服了!改了n遍,审核老是不让过啊啊啊啊,所以我决定文章末尾加上一些一些不相干的内容,大伙勿在意。。。可自行跳过
- I love you so much,I just don’t like you any more.”。意为:“我还是很爱你,只是已经不再喜欢你了。
- 你最初爱的那个人并不是你最终爱的那个人,爱不是最终目标,而是一个过程,借助这个过程,一个人想去了解另一个人。——约翰·威廉斯《斯通纳》
- 无论谁离开了你,别忘了,他没来之前,你本就是一个人生活。
- 真正坚持到最后的人靠的不是激情,而是恰到好处的喜欢和投入。
- 你的善良,要有点锋芒。
- 此地不留爷,自有留爷处。
- 人要往前看。
- 不勉强,不强求,不欺骗,不将就,一个人,向前走,天涯共此生,明月诚相待,若是无所求,天地仍光明。
- 痛苦不是成本,失去机会才是。
- 真的是有压力才有动力,deadline是第一生产力。
- 不要追求对人都无差别的热情,没有亲疏之别,怎么对得起你生命中那些重要的人。——蔡康永
我嘞个去,终于过了。。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/14024.html