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的子类,其他的方法参考以上两个即可 |
使用方法:
控制台输出: