Java 打印阵列列表

Java 打印阵列列表,java,arraylist,Java,Arraylist,我这里有一个Arraylist: public static void main(String[] args) { Person P1 = new Person("Nathen", 144.5, 55.1); Person P2 = new Person("Jamie", 133, 60); Person P3 = new Person("Tom", 134, 65); Person P4 = new Person("Lavi", 170, 70); A

我这里有一个Arraylist:

public static void main(String[] args) {
    Person P1 = new Person("Nathen", 144.5, 55.1);
    Person P2 = new Person("Jamie", 133, 60);
    Person P3 = new Person("Tom", 134, 65);
    Person P4 = new Person("Lavi", 170, 70);

    ArrayList<String> Person = new ArrayList<String>();{
        Person.add(P1.getCategory());
        Person.add(P2.getCategory());
        Person.add(P3.getCategory());
        Person.add(P4.getCategory());
    }

    System.out.println(Person);
}
publicstaticvoidmain(字符串[]args){
人员P1=新人员(“Nathen”,144.5,55.1);
人P2=新人(“杰米”,133,60);
人物P3=新人(“汤姆”,134,65);
人员P4=新人员(“Lavi”,170,70);
ArrayList Person=新建ArrayList(){
Person.add(P1.getCategory());
Person.add(P2.getCategory());
Person.add(P3.getCategory());
Person.add(P4.getCategory());
}
系统输出打印项次(人);
}
如何让程序一次打印出
Arraylist
一行,而不是现在的一大行

用于每个循环

for(String str : Person){
    System.out.println(str);
}

首先,您应该遵循,因此您应该将变量
Person
更改为
Person
,或者更好的名称,因为它是一个类别列表,类似于
categories

第二,对于您的请求,一部分通过每个项目选项循环,您有另外两种方式将其打印到
person
列表中

  • 通过传递
    person
    列表的相应数组,可以使用
    Arrays.toString
    方法。这就是你写它的方式:

    System.out.println(Arrays.toString(person.toArray())

    输出:
    [Nathen,Jamie,Tom,Lavi]

  • 如果您正在使用/迁移到Java 8+,则可以使用stream。以下是您实现此目标的方法:

    person.stream().forEach(System.out::println)

    输出:

    内森 杰米 汤姆 Lavi


您是否阅读过for循环?google会告诉你什么…我也会避免使用与类名相同名称和大小写的变量。至少这个名字没有多大意义——集体名词是“人”。@JonK,因为它实际上是一个类别列表,它应该被命名为
categories
。这种信息丰富的答案确实值得多次+1。英雄联盟