在ArrayList中执行命令

时间:2018-11-14 00:18:15

标签: java arraylist

通常,我将执行以下操作:

System.out.println("Title DVD 1: " + dvd1.getTitle());
System.out.println("Title DVD 2: " + dvd2.getTitle());

然后我将获得DVD 1和DVD 2的标题。如果要打印100张DVD的标题,显然我需要很多

System.out.println.

我设法将这些 System.out.println 放入ArrayList中,如下所示:

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

for ( int i = 0; i <= 22; i++) {
    displayDVDList.add("System.out.println(\"Title DVD " + i + " : \" 
        + dvd" + i + ".getTitle());");
    System.out.println(displayDVDList.get(i) + " ");
}

但是,我无法执行那些 System.out.println 来显示标题。因此,如何执行恰好是 System.out.println 命令的ArrayList值?

非常感谢您的帮助。谢谢。

3 个答案:

答案 0 :(得分:2)

假设dvd1dvd2的类型是Dvd方法的类getTitle(),则您的代码可能类似于以下内容,其中列表的元素不是String个值,而是Dvd个对象。

// Build list of DVDs
Random random = new Random();
ArrayList<Dvd> displayDVDList = new ArrayList<>();
for (int i = 0; i <= 22; i++) {
    String dvdTitle = "DVD #" + (random.nextInt(1000) + 1);
    displayDVDList.add(new Dvd(dvdTitle));
}

// Print list of DVDs
for (int i = 0; i < displayDVDList.size(); i++) {
    Dvd dvd = displayDVDList.get(i);
    System.out.println("Title DVD " + (i + 1) + ": " + dvd.getTitle());
}

答案 1 :(得分:0)

  

每个答案都是有帮助的,我正在添加它。   理解是,您希望打印对象的某些属性。采用   对象类的toString()方法,因为它是专门创建的   为了它 。使用arrayList.toString()并覆盖您的toString()   课。

class Person1
{

    String name ;
    String state;
    public Person1(String name, String state) {
        super();
        this.name = name;
        this.state = state;
    }
    public Person1() {
        super();
    }
    @Override
    public String toString() {
        return "Person [name=" + name + ", state=" + state + "]";
    }

}
public static void main(String[] args) {

        Person nitin = new Person("nitin", "delhi");
        Person chandan = new Person("chandan", "delhi");
        Person anshu = new Person("anshu", "bihar");
        Person rahul = new Person("rahul", "bihar");
        Person amar = new Person("nitin", "UP");

    List<Person> peoples = Arrays.asList(nitin,chandan, anshu, rahul,amar);

    System.out.println(peoples);    


    }

答案 2 :(得分:-1)

您可以先加载所有内容,然后使用System.out.println打印。 Java 8有一种使用流运行的方法。例如:

ArrayList<String> displayDVDList = new ArrayList<String>();
displayDVDList.add("Title 1");
displayDVDList.add("Title 2");
displayDVDList.add("Title 3");
displayDVDList.add("Title 4");
displayDVDList.add("Title 5");

displayDVDList.forEach(System.out::println);

希望对您有帮助!