Java创建多个数组列表

标签 java android arraylist

用户将输入 1 到 5 之间的值。 根据输入值,我想创建多个具有不同名称的数组列表。

示例 1(当输入 = 3 时):

ArrayList<String> Group0 = new ArrayList<>();
ArrayList<String> Group1 = new ArrayList<>();
ArrayList<String> Group2 = new ArrayList<>();

示例 2(当输入 = 5 时):

ArrayList<String> Group0 = new ArrayList<>();
ArrayList<String> Group1 = new ArrayList<>();
ArrayList<String> Group2 = new ArrayList<>();
ArrayList<String> Group3 = new ArrayList<>();
ArrayList<String> Group4 = new ArrayList<>();

如果这个问题看起来微不足道,我事先表示歉意。我对编码相对较新,因此非常感谢任何可能知道可用方法/命令来获得上述结果的人。谢谢!

<小时/>

我尝试这样做,但在初始化数组列表时我似乎无法使用“标签”。错误指出“变量标签已在方法 main(String[]) 中定义。

public static void main(String[] args) {

    int userInput = 3;
    int count = 0;

    while(count < (userInput)) {
        String label = "Group" + Integer.toString(count);
        ArrayList<String> label = new ArrayList<>();
        count++;
    }
}

最佳答案

您可以根据用户输入的给定大小使用ArrayList数组来满足您的要求。

ArrayList<String> lists[]=new ArrayList[input];

for(int i=0;i<input;i++){
   lists[i]=new ArrayList<>();
}

使用 lists[0] 访问第一个列表,使用 lists[1] 访问第二个列表,依此类推。

ArrayList 是在 Java 中提供动态数组的选项,但这不是您的要求,因此也使用数组,因为 ArrayList 比数组慢。

<小时/>

此外,如果您的要求更具体,名称为 Group1Group2...,您可以使用 HashMap 来实现相同的目的。

HashMap<String,ArrayList<String>> maps=new HashMap<String, ArrayList<String>>();

for (int i=0;i<input;i++)
     maps.put("Group"+String.valueOf(i),new ArrayList<String>());

当你想从 map 中检索数组列表时使用

maps.get("Group0");

关于Java创建多个数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226004/

相关文章:

java - Spring计划任务

android - 在 Android 设备上静默安装

Java:无法从文件创建数组

Java String.subsequence() 方法

java - JSP/Servlet 中的隐藏表单

java - synchronized 在 Java 中是如何工作的

java - 在 Eclipse(运行方式)构建中禁用 Androids 图像压缩

android - 如何在没有 Eclipse 的情况下将 Eclipse 项目导入 Android Studio

java - 每次调用方法时 ArrayList 都会重新初始化

java - IndexOutOfBoundsException 故障排除提示