java数组和list_Java中的数组和List

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.1ArrayList底层是以数组实现的。

2.2LinkedList是双向链表实现,适合于经常进行增删操作,但是查询和修改效率没ArrayList、Vector快。

2.3Vector与ArrayList类似,也是数组实现,但是他是同步的,是线程安全的,不会有并发产生的问题,但是效率要低于ArrayList。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值