Java中LinkedList数据结构的详细介绍

目录
  • 1.介绍
  • 2.Java 链表的方法
  • 3.代码

1.介绍

  • Linked List java.util 包中 Collection 框架的一部分。
  • LinkedList 数据结构的实现,它是一种线性数据结构,其中元素不存储在连续位置,每个元素都是一个单独的对象,具有数据部分和地址部分。
  • 元素使用指针和地址链接。每个元素称为一个节点

2.Java 链表的方法

方法 描述
add(int index, E element) 此方法在此列表中的指定位置插入指定元素。
add(E e) 此方法将指定的元素追加到此列表的末尾。
addAll(int index, Collection c) 此方法将指定集合中的所有元素插入此列表,从指定位置开始。
addAll(Collection c) 此方法将指定集合中的所有元素追加到此列表的末尾,按照它们由指定集合的​​迭代器返回的顺序。
addFirst(E e) 此方法在此列表的开头插入指定的元素。
addLast(E e) 此方法将指定的元素追加到此列表的末尾。
clear() 此方法从此列表中删除所有元素。
clone() 此方法返回此 LinkedList 的浅表副本。
contains(Object o) 如果此列表包含指定元素,则此方法返回 true。
descendingIterator() 此方法以相反的顺序返回此双端队列中元素的迭代器。
element() 此方法检索但不删除此列表的头部(第一个元素)。
get(int index) 此方法返回此列表中指定位置的元素。
getFirst() 此方法返回此列表中的第一个元素。
getLast() 此方法返回此列表中的最后一个元素。
indexOf(Object o) 此方法返回此列表中指定元素第一次出现的索引,如果此列表不包含该元素,则返回 -1。
lastIndexOf(Object o) 此方法返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1。
listIterator(int index) 此方法返回此列表中元素的列表迭代器(以适当的顺序),从列表中的指定位置开始。
offer(E e) 此方法将指定元素添加为此列表的尾部(最后一个元素)。
offerFirst(E e) 此方法在此列表的前面插入指定的元素。
offerLast(E e) 此方法在此列表的末尾插入指定的元素。
peek() 此方法检索但不删除此列表的头部(第一个元素)。
peekFirst() 此方法检索但不删除此列表的第一个元素,如果此列表为空,则返回 null。
peekLast() 此方法检索但不删除此列表的最后一个元素,如果此列表为空,则返回 null。
poll() 此方法检索并删除此列表的头部(第一个元素)。
pollFirst() 此方法检索并删除此列表的第一个元素,如果此列表为空,则返回 null。
pollLast() 此方法检索并删除此列表的最后一个元素,如果此列表为空,则返回 null。
pop() 此方法从该列表表示的堆栈中弹出一个元素。
push(E e) 此方法将一个元素压入此列表表示的堆栈中。
remove() 此方法检索并删除此列表的头部(第一个元素)。
remove(int index) 此方法删除此列表中指定位置的元素。
remove(Object o) 此方法从该列表中移除指定元素的第一个匹配项(如果存在)。
removeFirst() 此方法从该列表中删除并返回第一个元素。
removeFirstOccurrence(Object o) 此方法删除此列表中第一次出现的指定元素(从头到尾遍历列表时)。
removeLast() 此方法从该列表中删除并返回最后一个元素。
removeLastOccurrence(Object o) 此方法删除此列表中指定元素的最后一次出现(当从头到尾遍历列表时)。
set(int index, E element) 此方法用指定元素替换此列表中指定位置的元素。
size() 此方法返回此列表中的元素数。
spliterator() 此方法在此列表中的元素上创建一个后期绑定和快速失败的 Spliterator。
toArray() 此方法返回一个数组,其中包含此列表中按正确顺序(从第一个元素到最后一个元素)的所有元素。
toArray(T[] a) 此方法返回一个数组,其中包含此列表中按正确顺序(从第一个元素到最后一个元素)的所有元素;返回数组的运行时类型是指定数组的类型。
toString() 此方法返回一个字符串,其中包含此列表中按正确顺序(从第一个元素到最后一个元素)的所有元素,每个元素用逗号分隔,字符串括在方括号中。

3.代码

public class T1 {
    public static void main(String[] args) {
        LinkedList<String> ll = new LinkedList<String>();
        ll.add("B");
        ll.addLast("C");
        ll.addFirst("D");
        ll.add(2, "E");
        System.out.println(ll);
    }
}
 [D, B, E, C]

到此这篇关于Java中LinkedList的详细介绍的文章就介绍到这了,更多相关Java LinkedList详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java LinkedList源码深入分析

    1.LinkedList是基于链表的,而且是一个双向链表,不需要连续内存空间. //可以看出Node是一个双链表结构 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next = next; this.prev = pr

  • Java中LinkedList和ArrayList的效率分析

    在 Java 中,LinkedList 和 ArrayList 的性能是不同的,具体取决于你所需要的操作. 对于频繁的插入和删除操作,LinkedList 的性能通常更好,因为它使用了链表数据结构,只需更改节点的指针就可以在链表中插入或删除元素. 然而,如果你需要频繁的随机访问操作,ArrayList 的性能更快,因为它使用了数组数据结构,可以通过索引访问任何元素. 下面是一个代码案例,展示了在 Java 中使用 LinkedList 和 ArrayList 进行插入和删除操作的时间差异. pa

  • Java实现自定义LinkedList类的示例代码

    目录 一.LinkedList和ArrayList 二.自定义LinkedList类(单向链表) 1.实现思路 2.Node结点类 3.size().isEmpty().get(int index) 4.add(Object o) 5.add(int index,Object element) 6.test类 在正式讲解怎么自定义LinkedList类之前,需要再回顾一下之前学过的一些内容,避免跟ArrayList类混淆. 一.LinkedList和ArrayList -- LinkedList

  • Java ArrayList与LinkedList使用方法详解

    目录 前言 ArrayList和LinkedList List的方法 ArrayList add remove LinkedList remove get和peek push ArrayList和LinkedList的使用场景和区别 前言 最近参加了21天打卡活动,希望可以让自己养成写博客的习惯… ArrayList和LinkedList ArrayList和LinkedList都是常用的List类型,两者都继承了AbstratctList,并实现List接口. List的方法 列举一些常见的方

  • Java中ArrayList的使用详细介绍

    目录 1.ArrayList类 1.1ArrayList类概述 1.2ArrayList类常用方法 1.2.1构造方法 1.2.2成员方法 1.2.3示例代码 1.3ArrayList存储字符串并遍历 1.3.1案例需求 1.3.2代码实现 1.4ArrayList存储学生对象并遍历 1.4.1案例需求 1.4.2代码实现 1.5ArrayList存储学生对象并遍历升级版 1.5.1案例需求 1.5.2代码实现 总结 1.ArrayList类 1.1ArrayList类概述 在java中,我们会

  • java 中继承和多态详细介绍

    继承和多态 一.this super关键字 1.this: 可以在构造器中的第一代码中调用本类中的其他构造器.this(参数) 非类方法参数中隐式传入的参数,表示调用当前方法的对象. 2.super: 可以在构造器的第一句代码调用父类的构造器.super(参数). 非静态方法中表示继承的父类对象,可以调用父类方法和属性. 二.方法的覆写: 子类重新实现了和父类一样的方法.访问修饰和异常都必须至少和父类的相同或者更大的范围. 三.方法的重载: 相同的方法的名字不同的参数列表. 四.多态: java

  • java 中函数的参数传递详细介绍

    java中函数的参数传递 总结: 1.将对象(对象的引用)作为参数传递时传递的是引用(相当于指针).也就是说函数内对参数所做的修改会影响原来的对象.   2.当将基本类型或基本类型的包装集作为参数传递时,传递的是值.也就是说函数内对参数所做的修改不会影响原来的变量.   3.数组(数组引用))作为参数传递时传递的是引用(相当于指针).也就是说函数内对参数所做的修改会影响原来的数组.   4.String类型(引用)作为参数传递时传递的是引用,只是对String做出任何修改时有一个新的String

  • Java中的阻塞队列详细介绍

    Java中的阻塞队列 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作是: 在队列为空时,获取元素的线程会等待队列变为非空. 当队列满时,存储元素的线程会等待队列可用. 阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程.阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素. 2.Java里的阻塞队列 JDK中提供了七个阻塞队列: ArrayBlockingQueue :一个由数组结

  • java中的枚举类型详细介绍

    枚举中有values方法用于按照枚举定义的顺序生成一个数组,可以用来历遍.我们自定义的枚举类都是继承自java.lang.Enum,拥有一下实例中的功能: 复制代码 代码如下: //: enumerated/EnumClass.java // Capabilities of the Enum class import static net.mindview.util.Print.*; enum Shrubbery { GROUND, CRAWLING, HANGING } public clas

  • Java中的Object类详细介绍

    理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Object类,因此省略了extends Object关键字. 该类中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法. 注意: Object类中的getClass(),notify(),notifyAll(),wait()等方法被定义为f

  • Java中四种引用类型详细介绍

    Java 四种引用类型 对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期.这4种级别由高到低依次为:强引用.软引用.弱引用和虚引用. ⑴强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,

  • java中多线程的超详细介绍

    1.线程概述 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程.当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程. 2.线程与进程 进程概述: 几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程( Process).当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位. 进程特征: 1.独立性:进程是系统中独立存在的实体,

  • Java中的final关键字详细介绍

    •final变量如果在变量前加final关键字,则这个变量一旦被初始化,便不可再改变. 如果一个final变量是类成员变量,则必须被初始化,且只能被初始化一次. 方法中的参数也可以是final变量.这在我们需要传递引用型的变量时非常有用,因为有时候我们并不希望调用函数修改该变量而影响到原函数中对象的值.因此将引用型变量设为final类型可以有效方式变量被调用参数修改.此时在调用方法中只可以使用该变量,但不能对其做任何修改. 复制代码 代码如下: void test(final int a){ 

  • java中this关键字的详细使用介绍

    this 的使用:修饰属性和方法,也可以理解为当前对象 this 调用构造器: 1.我们在类的构造器里,可以使用,调用本类中指定的其他构造器 2.构造器中不能通过”this(形参列表)“的方法来调用自己 3.如果有一个类中有n个构造器,则最多有n-1个构造器中使用”this(形参列表)“的方法 4.规定:”this(形参列表)“必须声明在当前构造器的首行 5.构造器内部,最多可以声明一个”this(形参列表)“的方法,用来调用其他的构造器 补充:eclipse中快速创建this source--

随机推荐

其他