当前位置:首页 > 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的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

如何导入java项目

如何导入java项目

导入Java项目的方法 使用IDE导入(如IntelliJ IDEA或Eclipse) 打开IDE后选择导入现有项目,导航至项目根目录(包含pom.xml或build.gradle的文件位置)。IDE…

php 实现 java md5加密

php 实现 java md5加密

PHP 实现 Java MD5 加密 Java 和 PHP 的 MD5 加密结果可能存在差异,主要由于字符编码和输出格式的不同。以下是确保 PHP 与 Java MD5 加密结果一致的方法。 确保字…

win7如何配置java环境变量

win7如何配置java环境变量

下载并安装Java 从Oracle官网下载适合的Java Development Kit (JDK)安装包,选择与系统位数(32位或64位)匹配的版本。运行安装程序,按照提示完成安装,默认路径通常为C…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…