LinkedList
LinkedList是Java中一种常用的数据结构,它使用双向链表实现。
特点:
高效的插入和删除操作:LinkedList在列表的头部和尾部进行添加和删除操作的复杂度为O(1),高效且方便。
动态大小:LinkedList的大小可以根据需要自动调整,无需手动分配内存。
支持null元素:LinkedList允许插入和删除null元素。
迭代顺序:LinkedList的迭代器按照链表的插入顺序进行迭代。
LinkedList适用于需要频繁插入和删除元素的情况,但LinkedList不支持随机访问,获取元素的复杂度为O(n),因此如果需要频繁访问元素,建议使用ArrayList。
LinkedList可以通过Node类实现,每个节点包含一个数据域和两个指针,分别指向前一个节点和后一个节点。LinkedList类中维护了一个头节点和尾节点的指针,方便进行添加和删除操作。
JDK中LinkedList的方法:
boolean add(E e) //尾插e void add(int index,E element) //将e插入到index位置 boolean addAll(Collection<? extends E> c) //尾插c中的元素 E remove(int index) //删除Index位置的元素 boolean remove(Object o) //删除遇到的第一个o E get(int index) //获取下标index位置的元素 E set(int index,E element) //将下标为index位置的元素设置为element void clear() //清空 boolean contains(Object o) //判断o是否在线性表中 int indexOf(Object o) //返回第一个o所在下标 int lastIndexOf(Object o) //返回最后一个o所在下标 List<E>subList(int fromIndex,int toIndex) //截取部分list
方法实现代码示例:
import java.util.LinkedList; public class LinkedListExample { public static void main(String[] args) { // 创建一个空的LinkedList LinkedList<String> list = new LinkedList<String>(); // 在列表的头部添加元素 list.addFirst("Hello"); // 在列表的尾部添加元素 list.addLast("World"); // 在列表的指定位置插入元素 list.add(1, "Java"); // 获取列表的大小 int size = list.size(); System.out.println("Size: " + size); // 获取列表中的元素 String element = list.get(0); System.out.println("Element at index 0: " + element); // 删除列表中的元素 list.remove(1); System.out.println("After removing element at index 1:"); for (String s : list) { System.out.println(s); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律