java的linkedlist_Java中的LinkedList的定义和用法 - Break易站

本文详细介绍了Java中的LinkedList集合框架,它是一种线性数据结构,基于双向链表实现。LinkedList提供了添加、删除元素的高效操作,但访问元素相对较慢。文章通过示例展示了LinkedList的常用方法,如add、remove、contains等,并解释了它们的工作原理。同时,还列举了LinkedList的构造函数及其用途。
摘要由CSDN通过智能技术生成

Java 集合框架

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

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

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

Java LinkedList的构造函数:

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

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

LinkedList object = 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的方法:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值