常用集合分类及详解

本文详细介绍了Java中的三大集合:List、Set和Map。List接口的实现包括ArrayList、LinkedList和Vector,其中ArrayList和LinkedList各有优劣,适用于不同的场景。Set集合无序且元素唯一,包括HashSet和TreeSet,HashSet依赖哈希表,而TreeSet基于二叉树,能进行排序。Map接口的实现有HashMap、Hashtable和TreeMap,HashMap快速查找,但非线程安全,TreeMap则能按键排序。文章还探讨了集合的线程安全、数据结构和操作方法。
摘要由CSDN通过智能技术生成

常用的几大集合

list集合
set集合
map集合

概念:

list集合和set集合有一个公共的父接口Collection,接口里定义了一些主要的方法

list集合是有序且可以重复的,list集合主要分为Arraylist集合、Linkedlist集合、vector集合。

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
Arraylist集合:
底层的数据结构是数组,在线程上是不安全的。使用Arraylist构造函数时,如果不传递参数,则默认调用无参构造方法,创建Arraylist对象时默认长度为10。
Arraylist包含许多的方法,例如:add、addAll、remove、removeAll、clear等。
当调用add方法时线程时不安全的,为什么会这么说呢?当我们多线程操作的时候就会导致数组越界,什么叫数组越界,就是相同的空间内我们存入了超出容量的内容。当我们使用下表存储的时候同样也会导致线程的不安全,比如出现两个数据共用一个下标,另一个下标空余。
当我们使用remove方法是,只是删除了数据,对表的容量并没有做出更改,如果想对表容量也进行更改的话,需要调用trimTosize方法。
Arraylist为我们提供了两组函数:Object[] toArray()、T[] toArray(T[] contentsÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值