java linkedlist 用法_java中linkedlist的介绍和用法

Linkedlist是线性数据结构,其中元素不存储在连续的位置,每个元素都是具有数据部分和地址部分的独立对象。元素使用指针和地址进行链接。每个元素被称为节点。由于插入和删除的动态性和易用性,它们优于阵列。它也有一些缺点,比如节点不能直接访问,我们需要从头开始,然后通过链接到达我们希望访问的节点。

为了将元素存储在链表中,我们使用一个双向链表,它提供了一个线性数据结构,并且还用于继承一个抽象类并实现list和deque接口。

在Java中,LinkedList类实现了列表接口。LinkedList类也包含像其他java集合一样的各种构造函数和方法。

Java LinkedList的构造函数:

1、LinkedList():用于创建一个空的链表。

2、LinkedList(Collection C):用于创建一个有序列表,其中包含集合迭代器返回的指定集合的所有元素。

// Java code for Linked List implementation

import java.util.*;

public class Test

{

public static void main(String args[])

{

// Creating object of class linked list

LinkedListobject = new LinkedList();

// Adding elements to the linked list

object.add("A");

object.add("B");

object.addLast("C");

object.addFirst("D");

object.add(2, "E");

object.add("F");

object.add("G");

System.out.println("Linked list : " + object);

// Removing elements from the linked list

object.remove("B");

object.remove(3);

object.removeFirst();

object.removeLast();

System.out.println("Linked list after deletion: " + object);

// Finding elements in the linked list

boolean status = object.contains("E");

if(status)

System.out.println("List contains the element 'E' ");

else

System.out.println("List doesn't contain the element 'E'");

// Number of elements in the linked list

int size = object.size();

System.out.println("Size of linked list = " + size);

// Get and set elements from linked list

Object element = object.get(2);

System.out.println("Element returned by get() : " + element);

object.set(2, "Y");

System.out.println("Linked list after change : " + object);

}

}

输出:

Linked list : [D, A, E, B, C, F, G]

Linked list after deletion: [A, E, F]

List contains the element 'E'

Size of linked list = 3

Element returned by get() : F

Linked list after change : [A, E, Y]

Java LinkedList的方法:

1、int size():它返回此列表中元素的数量。

2、void clear():它删除列表中的所有元素。

3、Object clone():它用于制作现有链接列表的副本。

4、Object set(int index,Object element):它用于用新元素替换列表中的现有元素。

5、boolean contains(Object element):如果元素存在于列表中,则返回true。

6、boolean add(Object element):它将元素附加到列表的末尾。

7、void add(int index,Object element):它将元素插入列表中'index'位置。

8、boolean addAll(Collection C):它将一个集合追加到链接列表。

9、boolean addAll(int index,Collection C):它将一个集合追加到指定位置的链表中。

10、void addFirst(Object element):它将元素插入列表的开头。

11、void addLast(Object element):它将元素附加在列表的末尾。

12、Object get(int index):它返回列表中位置'index'处的元素。如果索引超出了列表的范围,它会抛出'IndexOutOfBoundsException'。

13、Object getFirst():它返回链表的第一个元素。

14、Object getLast():它返回链接列表的最后一个元素。

15、int indexOf(Object element):如果找到元素,它将返回元素第一次出现的索引。否则,它返回-1。

16、int lastIndexOf(Object element):如果找到元素,它将返回元素最后一次出现的索引。否则,它返回-1。

17、Object remove():它用于从列表头部删除并返回元素。

18、Object remove(int index):它删除此列表中位置'index'处的元素。如果列表为空,它会抛出'NoSuchElementException'。

19、boolean remove(Object O):它用于从链表中移除一个特定的元素并返回一个布尔值。

20、Object removeLast():它用于删除并返回链接列表的最后一个元素。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaLinkedList是一个双向链表的数据结构,位于java.util包。要使用LinkedList,需要先引入它的类。可以使用以下语法格式创建一个LinkedList实例: ```java import java.util.LinkedList; LinkedList<E> list = new LinkedList<E>(); // 普通创建方法 ``` 也可以使用集合来创建一个LinkedList实例: ```java import java.util.LinkedList; LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表 ``` 以下是一个简单的创建LinkedList实例的示例代码: ```java import java.util.LinkedList; public class Example { public static void main(String[] args) { LinkedList<String> sites = new LinkedList<String>(); sites.add("Google"); sites.add("Runoob"); sites.add("Taobao"); sites.add("Weibo"); System.out.println(sites); } } ``` 需要注意的是,LinkedList类的声明如下: ```java public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable ``` LinkedList类是一种具有双向链接的链表,它实现了List接口、Deque接口和AbstractSequentialList类。通过使用LinkedList,可以方便地对链表进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Java链表(Linked list用法(单链表,双链表)](https://blog.csdn.net/Sueko/article/details/123333777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [java LinkedList用法解析(全面)](https://blog.csdn.net/linZinan_/article/details/114604893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值