青豆小说

手机浏览器扫描二维码访问

第十一章集合框架篇2024年Java求职面试与工作编程要点实录(第2页)

它根据键的自然顺序,对键进行排序;

或者根据创建Treemap时,提供的parator进行排序,具体取决于使用的构造方法。

Treemap不允许使用nu11键。

红黑树,是一种自平衡的二叉查找树;

通过对任何一条,从根到叶子的路径上,各个节点着色的方式的限制;

红黑树确保从根到叶子的最长的可能路径,不会过最短可能路径的两倍长。

这种特性,使得红黑树在插入、删除和查找操作中,都保持了相对稳定的性能。

在Treemap中,每个键都关联一个值。

你可以使用put(key,va1ue)方法,将键值对添加到映射中;

使用get(key)方法,获取与指定键关联的值。

Treemap的键集合(keyset()方法返回)按照键的排序顺序(升序或降序)进行迭代。

Treemap的键和值都不能为nu11。

三、综上所述

hashmap和Treemap的主要区别,在于其内部实现机制、性能特点以及使用场景。

hashmap适用于需要快插入、删除和查找的场景。

而Treemap,则适用于需要按照键的排序顺序,进行操作的场景。

3、如何选择合适的集合类?

在Java中,选择合适的集合类,对于程序的性能和正确性至关重要。

Java提供了丰富的集合类,每种集合类都有其特定的用途和性能特点。

以下是选择合适集合类的四点建议:

一、List

1)arrayList

适用于需要频繁访问元素(通过索引)的场景。

arrayList在内存中连续存储元素,因此随机访问度快。

但是,插入和删除元素(特别是在列表中间)时…

可能需要移动大量元素,因此性能较差。

2)LinkedList

适用于,需要频繁在列表中间,插入或删除元素的场景。

LinkedList使用链表结构存储元素,因此插入和删除元素的操作复杂度为o(1)。

但是,随机访问元素的度较慢,因为需要从头节点开始遍历。

3)Vector

与arrayList类似…

但Vector,是线程安全的,因此性能相对较低。

如果,你需要线程安全的List…

可以考虑使用netizedList()方法包装arrayList,或其它List实现。

二、set

1)hashset

适用于需要快查找元素的场景。

热门小说推荐
诡秘:从知识荒野走出

诡秘:从知识荒野走出

关于诡秘从知识荒野走出刚看完诡秘之主的罗洋在好奇心和驱使下尝试了周明瑞穿越前的转运仪式,穿不穿越不重要重要的是转运!怀着这样的心情罗洋准备好仪式之后就开始诵念起了愚者的尊名不属于这个时代的愚者灰雾之上的神秘主宰执掌好运的黄黑之王坏消息转运仪式并不能转运更坏的消息转运仪式真的可以让人穿越...

红雾游戏

红雾游戏

简介关于红雾游戏欢迎加入永不结束的红雾游戏,我的孩子。这场赌局,父亲已为你开启父亲祝你今后,夜夜安好,夜夜眠。...

快穿之开局就是小作精

快穿之开局就是小作精

苏檬因为太受宠被死了,被迫穿进书里历练。于是苏檬为了拉仇恨值开始疯狂柠檬,一天不就腰酸背痛腿抽筋儿某女配凭啥你比我强苏檬投胎是个技术活,下辈子好好练练哈听说你大哥是金融...

主业大反派,兼职人皇

主业大反派,兼职人皇

姜昊穿越到小说世界之中,开局成为了注定要家破人亡的舔狗大反派。好在他绑定了天命大反派系统,可以通过打压天命之子获得各种奖励!暴打主角团,横推四方敌!做一个无法无天的大反派!主业大反派,兼职人皇...

老公不仅是总裁

老公不仅是总裁

简介关于老公不仅是总裁感谢她出现在自己的生命里,在一起的日子酸甜苦辣都有!在前女友的算计和伤害中,他认清自己心之所向,虽然他们之间有过误会,有过欢乐,有过痛苦,但最后的结局还是能让自己十分满意。而换女人也应该有她的现场,莫怪自己心狠手辣...

我真不是大佬

我真不是大佬

一个神秘,古老,然的组织。它不知存在多少年,极少人知道,却影响文明更替,诸天格局,渗透多元宇宙的方方面面。睥睨星空的宇宙大帝,亿兆粉丝的级巨星,不死不灭的魔主,仙界第一美女在这里都是平平无奇小成员。没有人知道,组织最大Boss是谁。这是诸天间最大的谜!又名大佬的日常咸鱼生活...

每日热搜小说推荐