当前位置:首页 > Java

java如何输入链表

2026-03-25 05:53:09Java

输入链表的方法

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

使用Scanner类输入链表

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

java如何输入链表

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类,并通过循环输入节点值。

java如何输入链表

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类。

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的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

php 链表实现

php 链表实现

在 PHP 中实现链表可以通过类来模拟链表节点(Node)和链表(LinkedList)结构。以下是链表的完整实现示例,包含基础操作如插入、删除、遍历等。 链表节点类(Node) 链表的基本单元是节…

java如何编写接口

java如何编写接口

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