当前位置: 首页 > 知识库问答 >
问题:

如何创建二维ArrayList并添加元素

车子平
2023-03-14

我有一个小程序,在2D数组中保存状态对和它们的首都。在此程序下面:

public class StateCapitals {

public static void main(String[] args) {
    String[][] answers = {
            {"Alabama", "Montgomery"},
            {"Alaska", "Juneau"},
            {"Arizona", "Phoenix"},
            {"Arkansas", "Little Rock"},
            {"California", "Sacramento"},
            {"Colorado", "Denver"},
            {"Connecticut", "Hartford"},
            {"Delaware", "Dover"},
            {"Florida", "Tallahassee"},
            {"Georgia", "Atlanta"}
    };


    int correctCount = 0;

    for (int i = 0; i < answers.length; i++) {


        System.out.print("What is the capital of " + answers[i][0]);

        Scanner input = new Scanner(System.in);

        String userInput = input.nextLine();



        for (int j = 0; j < answers[i].length - 1; j++) {
            System.out.println("The correct answer should be " + answers[i][j + 1]);

            if(userInput.equals(answers[i][j + 1]))
                correctCount++;

        }


    }

    System.out.println("The correct count is " + correctCount);
    }
}

我需要用list >super2dArray=new arraylist >() 替换常规的二维数组。

我在stackoverflow上找到了一些线程,如何添加我想要的数组。以下是链接:如何在Java中创建二维ArrayList?以及如何声明2D字符串ArrayList?。但是这些讨论并没有解释如何在每个ArrayList中添加元素。我能做的最好的事情是创建新的ArrayList,然后添加一些元素,最后将ArrayList附加到另一个。他们没有解释如何向2D ArrayList添加元素。

共有1个答案

尹赞
2023-03-14

这里有一个更简单的示例:)

注意,我给ArrayList的构造函数一个固定的初始长度,因为我们已经知道数组的长度。

List<List<String>> myListOfListOfString = new ArrayList<List<String>>(answers.length);

for(String[] array : answers)
    myListOfListOfString.add(Arrays.asList(array));

有关更多详细信息,请参阅文档。

 类似资料:
  • 如何创建包含ArrayList的二维数组?比如:

  • 我正在创建一个Android应用程序,为了使其工作,我需要动态创建一个多维(2D): 我把代码留给您,以便让您理解它是如何被排序的,这样您就可以清除它来添加这个特性(可能我不仅想要代码本身的装饰,还想要对其中的内容有一个几乎详细的解释,我会非常感谢的! http://imgur.com/a/ajyoe

  • 问题内容: 无论如何,我对ArrayLists还是很陌生,但是我在这个项目中需要它们,如果你们能帮助我,我将不胜感激! 基本上,我需要创建一个多维数组列表来保存字符串值。我知道如何使用标准数组来执行此操作,但是这样做并不好,因为我不知道数组的大小,我所知道的只是它会有多少个尺寸。 因此,如果你们知道如何制作“具有2 / +尺寸的可动态调整大小的数组”,请告诉我。 在此先感谢, 安迪 编辑/更新 也

  • 问题内容: 我需要将元素添加到队列中,但是当我调用函数添加元素时,我希望它在数组的开头添加元素(因此它具有最低的索引),并且如果数组有10个元素添加一个新的结果将删除最旧的元素(具有最高索引的元素)。 有没有人有什么建议? 问题答案: 具有方法,因此您可以使用: 之后,您可以使用以下命令删除最后一个元素: 但是,您可能需要重新考虑您的要求或使用其他数据结构,例如 编辑 也许看看Apache的: 是

  • 我很难打印出给定输入的所有元音组合。我的输入是“SOMETHING”,我想打印所有元音组合,如sxmxthxng,其中x是aeiou元音。我认为我的问题是我找到了一个元音,用其他所有元音来改变它,然后继续。我需要继续往下看单词的其余部分,找到更多的元音,并在继续之前改变这些元音。 其他参考文献 密码 输入“某物”的示例输出 出于某种原因,它给了我所有与“u”的组合,而不是其他元音。我也想得到其他元

  • 说明 支付宝境外到店支付-创建二维码 官方文档:https://global.alipay.com/service/external_QR_Code/52 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayCrossBorder\InStore\CreateQR\Request 属性 名称 类型 说明 $service string 接口名称 $notify_url stri