【Java】Java容器篇(二),深入理解List集合类

【Java】Java容器篇(二),深入理解List集合类

建议整个系列一起看(更新中):
增强for: https://blog.csdn.net/qq_45495857/article/details/109410980
泛型:https://blog.csdn.net/qq_45495857/article/details/109410912
Java容器篇(一),宏观了解:https://blog.csdn.net/qq_45495857/article/details/109524162
Java容器篇(二),深入理解List集合类: https://blog.csdn.net/qq_45495857/article/details/109529618
Java容器类(三),深入理解Set集合类: https://blog.csdn.net/qq_45495857/article/details/109536611
Java容器类(四),深入理解Map集合类https://blog.csdn.net/qq_45495857/article/details/109542428
Java容器类(五),深入理解迭代器: https://blog.csdn.net/qq_45495857/article/details/109548598

在这里插入图片描述

List承诺可以将元素维护在特定的序列中,List接口在Collection的基础上添加了大量的方法,使得可以在List的中间插入和移除元素

废话不多说,直接开门见山:

1.List接口

继承自Collection接口,在Java.util包下
特点:

  • 元素有序(存入和取出的顺序一样)
  • 有整数的索引
  • 元素可以重复

特有功能(都是按索引进行操作的):

  • void add(int index,E element):添加元素
  • E remove(int index):删除元素
  • E set(int index,E element)修改元素
  • E get(int index): 获取元素

2.ArrayList

  • 长于随机访问元素,但是在List的中间插入和移除元素时较慢,
  • 底层是数组
  • ArrayList的Object数组初始化长度为10,如果我们存储满了这个数组,需要存储第11个对象,就会定义新的长度更大的数组,并将原数组内容和新的元素一起加入到新数组中,源码如下

在这里插入图片描述

3.LinkedList

  • 底层双向链表结构
    在这里插入图片描述

  • 查询快,增删慢

  • 特性集较ArrayList更大

特有方法:

  • void addFirst(E e):将元素添加到开头
  • void addLast(E e):将元素添加到末尾
  • E getFirst():获取开头元素
  • E getLast():获取结尾元素
  • E removeFirst():删除第一个元素,并返回删除的元素
  • E removeLast():删除最后一个元素,并返回删除的元素

4.如何选择使用哪种List集合(根据数据结构特点)

  1. 尽量避免使用Vector
  2. 查询多,增删少,用ArrayList
  3. 查询少,增删多,用LinkedList
  4. 默认用ArrayList
  5. CopyOnWriteArrayList是List的一个特殊实现,专门用于并发编程

5.List集合的遍历

  • foreach
  • for
  • 迭代器

迭代器后面专门讲


// 以上就是本篇List集合的内容,希望能够帮助到大家

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GengMS_DEV

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值