Java里的集合介绍和List集合各种类的介绍

一.Java的集合

Java集合就像一种容器,可以把多个对象(实际上是对象的引用)“丢进”该容器中。从Java增加了泛型以后,Java集合可以记住容器中对象的数据类型,使得编码更加简洁、健壮。

Java里的集合分为Set,List,Map,Queue四种体系。

它们有这样的特点:Set无序不可重复;List有序可以重复;Map含有映射关系(键值对,类似Python的字典);Queue是用队列实现的集合。

这里的是否有序是指输入的顺序是否和存储的顺序是否一致


二.集合和数组的区别

1.从长度角度来看:集合的长度可变,但数组的长度固定。

2.从内容角度来看:集合只能是引用数据类型,但数组可以是基本数据类型,也可以是引用数据类型。

3.从元素类型来看:一个集合可以存储不同的数据类型,但数组只能存储一种数据类型。


三.List集合的种类

List有序,可重复,可以通过索引直接操作元素。

1.ArrayList

特点:

1.ArrayList 是集合的一个实现类

2.ArrayList 内部封装了一个 Object 类型的对象,初始长度为 10,且长度可变

为什么是Object类:这里利用了多态,ArrayList为了能存储各种不同的数据类型,创建了Object类型的数组,因为Object类是所以类的父类,子类可以向上转型,以便都可以放在集合里面。

3.ArrayList 集合的查询快,但是增删慢

查询快是因为有索引,增删慢是因为数组内需要把各个数据一个接一个地移动或覆盖。

4.线程不安全

2.LinkedList

特点:

1.LinkedList 是集合的一个实现类

2.LinkedList 内部封装了一个双向链表

3.LinkedList 集合的增删快,但是查询慢

增删快是因为LinkedList内部是双向链表结构,每个节点包含自身数据,指向前一个节点的引用和指向后一个节点的引用。查询慢是因为若要查询某个元素,必须从链表的头节点或尾节点开始,逐个遍历节点。

4.线程不安全

3.Vector

特点:

1.底层数据结构是带有泛型的数组

2.有索引、查询快增删慢

3.单线程,线程安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值