这些ArrayList函数的2D ArrayList等价物是什么?

时间:2015-05-01 12:09:48

标签: java arrays function arraylist

这是初始化。

    ArrayList<ArrayList<String>> names = new ArrayList<ArrayList<String>>();

功能如下。

    names.add("Amey");

    names.set(a, "Jane"); 

这是需要转换为2D ArrayList的完整程序。该计划的目的是在约翰所在的任何地方取代约翰和简。

    import java.util.*;

    public class Prac5twodArraylistString {

public static void main(String[] args) {
    ArrayList<ArrayList<String>> names = new ArrayList<ArrayList<String>>();
    names.add("Amey");
    names.add("Aditya");
    names.add("John");
    names.add("Saideep");
    names.add("Shrikar");
    names.add("Sujay");
    for (int a = 0; a <= (names.size()) - 1; a++) {
        System.out.println(names.get(a));
    }
    for (int a = 0; a <= (names.size()) - 1; a++) {
        if (names.get(a).equals("John")) {
            names.set(a, "Jane");
        }
    }
    for (int a = 0; a <= (names.size()) - 1; a++) {
               System.out.println(names.get(a));
    }
   }
  }

。请帮我解释一下这段代码吗?

2 个答案:

答案 0 :(得分:1)

您的代码无法编译。您正在创建一个setsebool -P httpd_can_network_connect 1 List List的{​​{1}},而您只想添加一个String而不是String List }。

执行String后,您需要执行names.add("anyName");。但是,其余的代码将无效。

如果你改变了

names.add(new ArrayList<String>() {{add("name")};

代表

ArrayList<ArrayList<String>> names = new ArrayList<ArrayList<String>>();

您的代码将编译并运行。

答案 1 :(得分:0)

根据我的理解,我觉得你的问题在于你的2D ArrayList。行ArrayList<ArrayList<String>> names = new ArrayList<ArrayList<String>>();表示您的变量names实际上是其他ArrayList的{​​{1}}。因此,您的代码ArrayList<String>会显示错误,因为此方法中预期的参数为name.add("SomeString"),但您提供的是ArrayList<String>

现在如果您需要String ArrayList那么您必须声明ArrayList的新变量,如下所示:

ArrayList<String>

将此名称添加到此ArrayList<String> temp = new ArrayList<>(); 对象,而不是temp对象:

name

现在将此temp.add("Amey"); temp.add("Aditya"); temp.add("John"); temp.add("Saideep"); temp.add("Shrikar"); temp.add("Sujay"); 对象添加到temp对象,如下所示:

names

要打印出你的内容,你必须使用这个循环:

names.add(temp);

如果用“Jane”替换“John”,您可以使用以下内容:

   for(ArrayList<String> a : names){
      for(String name: a){
         System.out.println(name);
      }
   }