LinkedList
ArrayListt和LinkedList都实现了List接口,但它们底层存储的数据结构不同,前者底层使用数组进行存储,后者使用链表进行存储,所以各自的特点与数据结构一样。特点:
- ArrayList:查找快,增删慢
- LinkedList:查找慢,增删快
1. 创建对象
LinkedList<Integer> linkedList = new LinkedList<>();//限定类型
LinkedList linkedList1 = new LinkedList<>();//不限定类型
2. 常用方法
- 与ArrayList相同的方法
public static void main(String[] args) {
//创建对象
LinkedList<Integer> linkedList = new LinkedList<>();
LinkedList linkedList1 = new LinkedList<>();
//常用方法:增删改查
//直接在集合末尾添加元素
linkedList1.add("ok");// 1. add(object o)
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
//在指定位置添加位置
linkedList.add(0,2);// 2. add(index,element)
//删除元素
linkedList.remove(1);//3.remove(object o)
//删除指定位置的元素,返回值为被删除的元素
linkedList.remove(1);//4.remove(index int)
//修改指定位置的元素,返回值为修改前的元素
linkedList.set(0,10);//5.set(index int,E element)
//获取指定位置的元素,返回值为对应元素
linkedList.get(1);//6.get(index int)
//获取集合元素个数
System.out.println(linkedList.size());//7.size()
//判断集合中是否存在某个元素,返回值代表是否存在
System.out.println(linkedList.contains(10));//8.contains(object o)
}
- 特有的方法
//LinkedList特有的方法
//将元素添加到最前面
linkedList.addFirst(20);// 1. void addFirst()
//将元素添加到最后面
linkedList.addLast(30);// 2. void addLast()
//删除集合最前面的一个元素,返回值代表被删除的元素
linkedList.removeFirst();// 3.E removeFirst()
//删除集合最后面的一个元素,返回值代表被删除的元素
linkedList.removeLast();// 4.E removeFirst()
3. LinkedList遍历
与ArrayList完全相同,在【JAVA集合2】中
这篇博客介绍了LinkedList和ArrayList作为List接口实现的区别。ArrayList基于数组,适合查找,不适合频繁增删;LinkedList基于链表,查找慢但增删快。文章详细展示了LinkedList的创建、常用方法,包括增删改查,以及特有的在链表头尾添加和移除元素的操作。还提供了遍历LinkedList的示例。

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



