List的特点
java.util.List
1.有序
2.有索引
3.元素可重复
常用的实现类
java.util.ArrayList
特点
1.有序
2.有索引
3.元素可重复
4.底层是数组,查询快,增删慢
java.util.LinkedList
特点
1.有序
2.有索引
3.元素可重复
4.底层数据结构是链表,查询慢,增删快
ArrayList的扩容机制
当创建集合时,虽然底层会默认给一个长度为10的数组,但拿到的还是长度为0的数组,为了防止new了数组后不添加元素,它延迟扩容,在第一次添加元素时,底层的数组会进行第一次扩容,扩容长度为10.
LinkedList特有方法
public class Test{
public static void main(String[] args) {
//创建LinkedList集合对象
LinkedList<Integer> list = new LinkedList<>();
//将指定元素插入此列表的结尾
list.addLast(100); //当前集合并没有元素,怎么添加都是第一个元素
list.add(10);
list.addFirst(150); //将指定元素添加到列表开头
//返回此列表的第一个元素
int i = list.getFirst();
//返回此列表的最后一个元素
int i1 = list.getLast();
//移除并返回此列表的第一个元素
int first = list.removeFirst();
//移除并返回此列表的最后一个元素
int last = list.removeLast();
//从此列表所表示的堆栈处弹出一个元素 栈是先进后出.压栈执行
LinkedList<String> stack = new LinkedList<>();
//压栈 push:将元素推入此列所表示的栈堆
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
String pop = stack.pop();
System.out.println(pop);//删除"d"
}
}
本文详细介绍了Java中List接口的特点,包括有序性、索引和元素可重复性,并对比了ArrayList和LinkedList两种实现类的特性。ArrayList基于数组实现,查询快,增删慢;LinkedList使用链表结构,查询慢但增删快。文章还讨论了ArrayList的扩容机制及LinkedList的特有方法,如addFirst/Last、getFirst/Last、removeFirst/Last等,以及作为堆栈的使用示例。
1457

被折叠的 条评论
为什么被折叠?



