当前位置:首页 > Java

java如何创建链表

2026-03-04 05:37:43Java

创建链表的基本方法

在Java中,链表可以通过自定义类或使用内置的LinkedList类实现。以下是两种常见方法:

自定义链表节点类

class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { 
        val = x; 
    }
}

使用Java集合框架

import java.util.LinkedList;
LinkedList<String> list = new LinkedList<>();

自定义链表实现步骤

定义链表节点结构后,可以通过以下方式构建链表:

ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);

添加遍历链表的方法:

void printList(ListNode node) {
    while (node != null) {
        System.out.print(node.val + " ");
        node = node.next;
    }
}

链表操作示例

插入节点

// 在头部插入
ListNode newNode = new ListNode(0);
newNode.next = head;
head = newNode;

// 在尾部插入
ListNode last = head;
while (last.next != null) {
    last = last.next;
}
last.next = new ListNode(4);

删除节点

// 删除值为2的节点
ListNode prev = head;
while (prev.next != null && prev.next.val != 2) {
    prev = prev.next;
}
if (prev.next != null) {
    prev.next = prev.next.next;
}

使用LinkedList类的操作

Java标准库提供的LinkedList类已实现完整功能:

java如何创建链表

LinkedList<Integer> list = new LinkedList<>();
list.add(1);          // 尾部添加
list.addFirst(0);     // 头部添加
list.removeLast();    // 删除尾部
list.get(1);          // 获取索引1的元素

复杂度分析

  • 自定义链表:插入/删除头节点O(1),随机访问O(n)
  • LinkedList类:提供双向链表实现,支持高效的头尾操作

选择实现方式时应根据具体需求决定,需要精细控制时使用自定义实现,常规操作可直接使用标准库。

标签: 链表java
分享给朋友:

相关文章

java如何下载

java如何下载

下载Java的步骤 访问Oracle官方网站或OpenJDK项目页面下载Java开发工具包(JDK)。Oracle JDK适用于商业用途,OpenJDK为开源版本。 打开浏览器,进入Oracle J…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

java程序如何打包

java程序如何打包

打包Java程序的方法 使用JAR打包 Java程序可以通过JAR(Java Archive)格式打包,这是一种常见的压缩格式,适用于包含多个类文件和资源的项目。以下是使用JAR打包的步骤: 确保项…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…