当前位置:首页 > Java

java如何输入链表

2026-03-25 05:53:09Java

输入链表的方法

在Java中,链表通常通过LinkedList类或自定义的链表节点类实现。以下是几种常见的输入链表的方法:

使用Scanner类输入链表

可以通过Scanner类从控制台读取用户输入,并构建链表。

import java.util.LinkedList;
import java.util.Scanner;

public class LinkedListInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        LinkedList<Integer> list = new LinkedList<>();

        System.out.println("输入链表元素(以空格分隔,回车结束):");
        String input = scanner.nextLine();
        String[] elements = input.split(" ");

        for (String element : elements) {
            list.add(Integer.parseInt(element));
        }

        System.out.println("输入的链表: " + list);
        scanner.close();
    }
}

自定义链表节点类

如果需要自定义链表节点,可以定义一个Node类,并通过循环输入节点值。

import java.util.Scanner;

class Node {
    int data;
    Node next;

    Node(int data) {
        this.data = data;
        this.next = null;
    }
}

public class CustomLinkedListInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Node head = null;
        Node tail = null;

        System.out.println("输入链表元素(以空格分隔,回车结束):");
        String input = scanner.nextLine();
        String[] elements = input.split(" ");

        for (String element : elements) {
            Node newNode = new Node(Integer.parseInt(element));
            if (head == null) {
                head = newNode;
                tail = newNode;
            } else {
                tail.next = newNode;
                tail = newNode;
            }
        }

        System.out.println("输入的链表:");
        Node current = head;
        while (current != null) {
            System.out.print(current.data + " ");
            current = current.next;
        }

        scanner.close();
    }
}

通过数组初始化链表

如果链表数据已知,可以直接通过数组初始化链表。

class Node {
    int data;
    Node next;

    Node(int data) {
        this.data = data;
        this.next = null;
    }
}

public class ArrayToLinkedList {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        Node head = null;
        Node tail = null;

        for (int num : arr) {
            Node newNode = new Node(num);
            if (head == null) {
                head = newNode;
                tail = newNode;
            } else {
                tail.next = newNode;
                tail = newNode;
            }
        }

        System.out.println("初始化的链表:");
        Node current = head;
        while (current != null) {
            System.out.print(current.data + " ");
            current = current.next;
        }
    }
}

使用LinkedList类

如果不需要自定义节点,可以直接使用Java提供的LinkedList类。

java如何输入链表

import java.util.LinkedList;
import java.util.Arrays;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<Integer> list = new LinkedList<>(Arrays.asList(1, 2, 3, 4, 5));
        System.out.println("链表: " + list);
    }
}

注意事项

  • 输入时需确保数据类型匹配,避免输入非数字字符导致异常。
  • 自定义链表节点时,注意处理next指针的指向,避免内存泄漏或空指针异常。
  • 使用Scanner后及时关闭资源,避免资源泄露。

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

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何运行

java如何运行

运行Java程序的基本方法 Java程序的运行需要经过编写、编译和执行三个主要阶段。以下是具体步骤: 编写Java源代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件内…

java如何输出

java如何输出

输出到控制台 使用 System.out.println() 方法输出内容到控制台,适用于调试或简单信息展示。 示例代码: System.out.println("Hello, World!")…

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

java如何打开

java如何打开

安装Java开发环境 下载并安装Java Development Kit (JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH变量正…