java集合

本文深入解析Java集合框架,包括Collection和Map两大类型,探讨List、Set、Queue子类型及HashMap、TreeMap特性。分析基本数据类型与引用类型,对比HashSet、LinkedHashSet、TreeSet集合性能,阐述Map集合元素存储原理。

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

昨天又复习Java的集合类,相比之前的学习,又有了许多收获,虽然当时脑子里面没什么印象,但是后面回顾了一下总结了一下看着文档整理了一下,其实确实很多东西都感觉简单了很多。
进入正题,首先是要搞清Collection和Collections,Collection是List,set和Queue接口的父接口,而Collections是一个操作集合的工具类。
首先我也是从一个小白做起,这个星期学习了很多,很多java基础知识,我印象比较深刻的是基本数据类型和引用数据类型
基本数据类型是四类八种,四类是:整型,浮点型,字符型,布尔型,八种分别为:byte short int long float double char boolean,这些基本数据类型用处很大。

下面是一张思维导图可以看一下:在这里插入图片描述

首先说Set集合:Set集合类似于一个瓶子,可以把多个对象丢进去,而Set不能够记住添加元素的顺序。Set集合与Collection基本相同,没有提供额外的方法,也可以说Set就是Collection。如果add()相同的元素,会返回flase,添加失败。

HashSet:HashSet按照Hash算法来存储结合中的元素,因此具有良好的存取和查找的性能。简单的说,HashMap的底层实现是“基于拉链法的散列表”。

LinkedHashSet:使用连表来维护元素,因为需要维护元素的插入顺序,所以性能略低,低于HashSet。

TreeSet:采用红黑树的数据结构来存储集合元素,并且支持两种排序方法,自然排序和定制排序。简单一句话,如果想要TreeSet正常运行,只能添加同一种类型的对象。

Map集合中的元素是通过key,value进行存储的,要获取集合中的key或者value值,可以通过keySet()和values()获取相应的集合,然后通过迭代器遍历相应的集合获取key或者value。

常用方法:HashMap和TreeMap

HashMap 和TreeMap。和所有的具体实现一样,使用哪种实现取决于您的特定需要。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按顺序遍历键,那么TreeMap 会更好。根据集合大小,先把元素添加到 HashMap,再把这种映射转换成一个用于有序键遍历的 TreeMap 可能更快。使用HashMap 要求添加的键类明确定义了 hashCode() 实现。有了TreeMap 实现,添加到映射的元素一定是可排序的。

HashMap允许使用<null,null>键值,而TreeMap不能。

HashMap实现快速查找,插入和删除,而TreeMap可以实现集合的对象有序排列。

总结:
到这里,对于Java集合框架的总结就结束了,还有很多集合类没有在这里提到,更多的还是需要大家自己去查去用。通过阅读源码,查阅资料,收获很大。

Java集合框架主要包括Collection和Map两种类型。其中Collection又有3种子类型,分别是List、Set、Queue。Map中存储的主要是键值对映射。

规则集Set中存储的是不重复的元素,线性表中存储可以包括重复的元素,Queue队列描述的是先进先出的数据结构,可以用LinkedList来实现队列。

效率上,规则集比线性表更高效。

ArrayList主要是用数组来存储元素,LinkedList主要是用链表来存储元素,HashMap的底层实现主要是借助数组+链表+红黑树来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值