java集合如何从外部键入

java集合如何从外部键入

作者:Joshua Lee发布时间:2026-02-25阅读时长:0 分钟阅读次数:9

用户关注问题

Q
如何通过控制台输入数据并存入Java集合?

我想从键盘输入一些数据,然后存入Java集合中,这要怎么实现?

A

使用Scanner类从控制台读取数据并添加到集合

可以使用Java的Scanner类从控制台读取用户输入,然后将读取的数据存储到集合中,例如ArrayList。示例代码:

import java.util.ArrayList;
import java.util.Scanner;

public class InputToCollection {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> list = new ArrayList<>();
        System.out.println("请输入数据,输入END结束:");
        while (true) {
            String input = scanner.nextLine();
            if ("END".equalsIgnoreCase(input)) {
                break;
            }
            list.add(input);
        }
        System.out.println("输入的集合内容:" + list);
        scanner.close();
    }
}
Q
如何从文件读取数据到Java集合中?

我有一份文件,想把里面的数据导入到Java集合中,应该怎样做?

A

使用文件读取流结合集合存储数据

可以通过Java的BufferedReader读取文件中的内容,并将每一行或每条数据添加至集合中。示例:

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;

public class FileToCollection {
    public static void main(String[] args) {
        ArrayList<String> lines = new ArrayList<>();
        try (BufferedReader br = new BufferedReader(new FileReader("data.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                lines.add(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("文件内容已存入集合:" + lines);
    }
}
Q
Java如何接收用户输入多个不同类型数据并保存到集合?

如果需要接收用户输入的不同类型数据,比如整数和字符串,怎样存入一个集合内?

A

结合使用Scanner和泛型集合存储不同类型数据

Java集合本身是泛型的,通常存储同一种类型的数据。若需要存储不同类型,可以使用Object类型的集合,例如List。示例:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MixedInputCollection {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Object> list = new ArrayList<>();
        System.out.println("请输入整数和字符串(输入exit结束):");
        while (true) {
            String input = scanner.nextLine();
            if ("exit".equalsIgnoreCase(input)) {
                break;
            }
            try {
                int number = Integer.parseInt(input);
                list.add(number);
            } catch (NumberFormatException e) {
                list.add(input);
            }
        }
        System.out.println("集合内容:" + list);
        scanner.close();
    }
}