Java学习笔记——集合之List

List继承Collection接口。是可重复的列表集合,允许加入null元素。

主要实现类为ArrayList、LinkedList、Vector、Stack等。

  • ArrayList底层实现为数组,是一个数组队列。可以动态的增加容量!当集合中对插入元素数据的速度要求不高,但是要求快速访问元素数据,则使用ArrayList! 
  • LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使用!当集合中对访问元素数据速度不做要求不高,但是对插入和删除元素数据速度要求高的情况,则使用LinkedList!
  • Vector是基于数组实现的,是一个矢量队列,是线程安全的!
  • Stack类:顾名思义就是栈,后进先出原则。

 

ArrayList类初始化是会构建一个容量为10的列表。当集合中对插入元素数据的速度要求不高,但是要求快速访问元素数据,则使用ArrayList! 

LinkedList是基于链表实现的,是一个双向循环列表,所有插入速度很快,适用于插入操作比较多的场景。当集合中对访问元素数据速度不做要求不高,但是对插入和删除元素数据速度要求高的情况,则使用LinkedList! 

与ArrayList相比   LinkedList可以把元素从列表开头或者结尾加入

LinkedList有两种方法可以把元素增加到列表中一种是add,另一种是offer因为LinkedList同时实现了List<E>、Deque<E>两个接口,所以同时具有这两种特性。

  • 作为List使用时,一般采用add / get方法来 压入/获取对象
  • 作为Queue使用时,才会采用 offer/poll/take等方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值