1. ArrayList
特点:一个可变的数组,它改变了数组定义后不可变的缺点
该类是java.util包下的
该类的优点:ArrayList也是一个动态数组更是一个可变的数组
- 动态的增加和减少元素
- 实现了Collection和List接口
- 可以灵活的设置数组的大小
我们可知的是,数组是静态的,并且数组初始化之后,数组的长度也就不能改变了。
但是也有缺点:
- 使用ArrayList的实例比使用数组效率更低
- ArrayList的实例只能够储存对象(引用类型),但是不包含基本类型的值,比如一些int、double、float、char等等。(要想使用它们就必须把它们包装成引用类型)
1、Arraylist的常用方法
Boolean add(Element e) 增加指定元素到链表尾部
Void add(int index,Element e) 增加指定元素 到链表的指定位置去
Void clear() 删除链表中的所有元素
E remove(int index) 删除链表中的指定位置的元素
Void removeRange(int index,int end) 删除链表中从某一个位置到另一个元素的元素
E get(int index) 获取链表指定位置处的元素
Object[] toArray() 获取一个数组,数组所有元素是链表中的元素(也就是将链表转换为一个数组)
E set(int index,E element) 将链表中的指定元素替换成新元素
Boolean contains(Object o) 如果链表包含指定元素,返回true,反之
Boolean isEmpty() 检查链表是否为空 返回true则表示没有元素
Int size() 返回链表的长度(也就是元素的个数)
使用方法(此方法是一个有序的、有索引、可重复的)
2. LikedList
对比一下ArrayList类 ,该类有着与对方相反的功能
ArrayList使用数组实现,查询快、增加和删除元素慢。
LikedList使用链表实现,查询慢、但是增加和删除元素块。
此方法,适用于继经常插入、删除大量数据的场合,适用于用Iterator迭代器遍历
一些特定的方法(这些方法不能使用在多态)
AddFirst() 在集合的头部添加元素
addLast() 在集合的尾部添加元素
removeFirst() 删除集合的头部元素
RemoveLast() 删除集合的尾部元素
Push() 入栈、等同于addFirst()
Pop() 出栈、等同于addLast()
Offer() 入队列、等同于addLast()
Poll() 出队列、等同于removeLast()
此类是List的子类,而List又是Collection的子类,其他的方法参考以上两个即可
使用方法:
控制台输出: