Java中的数组和List

本文详细介绍了Java中数组和集合的基本概念与使用方法。数组在内存中连续存储,索引速度快,但长度固定;集合只能存放引用类型数据,支持不同类型元素,但存在类型安全和性能损耗问题。此外还对比了List的不同实现类ArrayList、LinkedList和Vector的特点。

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

一.数组Array
1.数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单
2.声明数组的时候,必须同时指明数组的长度,数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误。
3. 数组只能存放类型一样的数据(基本类型/引用类型)

 

二.集合Collection
1. JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。但是集合可以存放不同类型的引用类型,因为存入集合的元素都被转化成了Object类型,之后再引用集合中的类型需要强制类型转换,这就导致了集合的类型不安全,以及类型转化的性能损耗
三.List (列表)是接口,与Set(集)一起继承了Collection接口, 请注意,Map没有继承Collection接口,Map提供key到value的映射。
线性是一种逻辑结构,数据结构中的除去首尾元素外,其他元素都有唯一的前驱和后继。

1. Set和List的区别:
List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)


2. List有三个实现类:ArrayList LinkedList Vector
2.1 ArrayList底层是以数组实现的。
2.2 LinkedList是双向链表实现,适合于经常进行增删操作,但是查询和修改效率没ArrayList、Vector快。
2.3 Vector与ArrayList类似,也是数组实现,但是他是同步的,是线程安全的,不会有并发产生的问题,但是效率要低于ArrayList。

转载于:https://www.cnblogs.com/nicheken/p/7493622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值