java集合框架第二记LinkedHashSet和LinkHashMap及类的学习方法

本文探讨了LinkedHashSet和LinkedHashMap的特性,强调了它们对数据插入顺序的维护,这是与HashSet和HashMap的主要区别。文章还介绍了LinkedHashMap中新增的entry类,以及其链表结构,展示了集合框架资源的高效利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天优快云维护,保存的草稿又不见了,所以今天补上;不过又比较懒,就把两个合在一块写了。

首先是类的学习方法,首先了解类的使用。LinkedHashSet和LinkedHashMap的使用和之前的差不多,都是使用.add()或者.put()等等,但是细节不一样。在学习中了解到,这两个集合都是有顺序的,比起之前的HashSet和HashMap多了对数据插入顺序的维护。

除此之外,LinkedHashSet果然又是依赖LinkHashMap实现的。两者和之前的不同就在于多了对数据的维护。

其中,LinkedHashMap里边多了类entry,对数据进行维护。这个类又是继承自HashMap.Node()。在这里我学到一点,整个集合框架对于该利用的资源利用的特别好,重复利用。可能是前辈不断修改的结果吧。

entry类里多了next,after等等,如同C语言那种指针的链表结构。

大概就是LinkedHashMap的部分精华所在了。

同时说说自己在学习整个框架大概摸索出来的办法,一、上边有,这样就会对整个类有了初步的了解和实现的设想,对之后的详细了解打下基础。

二、对于类内部的了解,首先要去看看前辈们对于这个类的看法和解析,然后自己去打开代码看看。其中一定会有一棵继承树,慢慢的追溯上去分析。

三、最最最重要的是一定要有初步的基础,比如对于hash函数、iostream类等等,不然就算打开代码也是看不懂,这个就需要自己的平时的积累和理解了。

四、这个是我对于进一步对一个类的性能或者线程安全什么等分析方法的一个疑问,有待解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值