linkedlist增删java,哪位高手可以给一下linkedlist中的常用的增删改查的命令吗?谢谢了!...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

boolean add(E o)

将指定元素追加到此列表的结尾。

void add(int index, E element)

在此列表中指定的位置插入指定的元素。

boolean addAll(Collection extends E> c)

追加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。

boolean addAll(int index, Collection extends E> c)

将指定集合中的所有元素从指定位置开始插入此列表。

void addFirst(E o)

将给定元素插入此列表的开头。

void addLast(E o)

将给定元素追加到此列表的结尾。

void clear()

从此列表中移除所有元素。

Object clone()

返回此 LinkedList 的浅表复制。

boolean contains(Object o)

如果此列表包含指定元素,则返回 true。

E element()

找到但不移除此列表的头(第一个元素)。

E get(int index)

返回此列表中指定位置处的元素。

E getFirst()

返回此列表的第一个元素。

E getLast()

返回此列表的最后一个元素。

int indexOf(Object o)

返回此列表中首次出现的指定元素的索引,如果列表中不包含此元素,则返回 -1。

int lastIndexOf(Object o)

返回此列表中最后出现的指定元素的索引,如果列表中不包含此元素,则返回 -1。

ListIterator listIterator(int index)

返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。

boolean offer(E o)

将指定元素添加到此列表的末尾(最后一个元素)。

E peek()

找到但不移除此列表的头(第一个元素)。

E poll()

找到并移除此列表的头(第一个元素)。

E remove()

找到并移除此列表的头(第一个元素)。

E remove(int index)

移除此列表中指定位置处的元素。

boolean remove(Object o)

移除此列表中首次出现的指定元素。

E removeFirst()

移除并返回此列表的第一个元素。

E removeLast()

移除并返回此列表的最后一个元素。

E set(int index, E element)

将此列表中指定位置的元素替换为指定的元素。

int size()

返回此列表的元素数。

Object[] toArray()

以正确顺序返回包含此列表中所有元素的数组。

 T[]

toArray(T[] a)

以正确顺序返回包含此列表中所有元素的数组;返回数组的运行时类型即为指定数组的类型。

J2SE帮助文档 自己下一个

http://www.gougou.com/search?search=java%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3&restype=-1&id=10000002&ty=0

Java,ArrayListLinkedList是两种常用的集合类,它们各自有独特的特点: 1. ArrayList: - **特点**:基于动态数组实现,添加、删除元素的速度较快,尤其是对于尾部的操作(如添加和删除元素),因为它是通过调整数组下标直接完成的。查找元素的时间复杂度为O(n)。 - **操作**: - **增加**:`add(int index, E element)`用于在指定位置插入元素,或`add(E element)`在列表末尾添加。 - **删除**:`remove(int index)`移除指定索引处的元素,`remove(Object o)`删除第一个匹配的元素。 - **修改**:`set(int index, E element)`更改指定位置的元素值。 - **查询**:`get(int index)`获取指定索引处的元素。 2. LinkedList: - **特点**:双向链表实现,插入和删除元素非常快,几乎接近常数时间O(1),因为只需要改变几个指针。但是随机访问元素速度慢,时间复杂度为O(n)。 - **操作**: - **增加**:`addFirst()`或`addLast()`分别在链表头部或尾部添加元素;`addBefore(Object obj, Object element)`在某个元素前插入。 - **删除**:`removeFirst()`, `removeLast()`, 或者`remove(Object obj)`分别删除特定位置或特定元素。 - **修改**:`set(int index, E element)`同样能在指定位置修改元素。 - **查询**:需要遍历链表找到目标元素,所以比ArrayList慢。 下面是一个简单的示例,展示了如何在ArrayListLinkedList进行增删改查操作: ```java import java.util.*; public class Main { public static void main(String[] args) { // 创建ArrayList实例 ArrayList<String> arrayList = new ArrayList<>(); // 添加元素 arrayList.add("Element1"); // 查找元素 System.out.println(arrayList.get(0)); // 输出 "Element1" // 创建LinkedList实例 LinkedList<String> linkedList = new LinkedList<>(); // 插入元素到末尾 linkedList.addLast("Element2"); // 删除末尾元素 linkedList.removeLast(); // 修改元素 int index = linkedList.indexOf("Element1"); // 获取"Element1"的索引 if (index != -1) { linkedList.set(index, "Updated Element1"); } // 遍历显示所有元素 for (String element : arrayList) { System.out.print(element + " "); } System.out.println("\n"); for (String element : linkedList) { System.out.print(element + " "); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值