如何打印ArrayList?-java



下面会有问题。

public class University {
ArrayList<Student> students;
public University() {
students = new ArrayList<Student>();
}
public void addStudent(Student students) {
this.students.add(students);
}}

public class Student {
String name;
String studentID;
static int studentNumber = 0;
Student(String name, String sID){
this.name = name;
this.studentID = sID;
studentNumber++;
}}

public class TestUniversity {
public static void main(String[] args) {
University universityRegister = new University(); 
Student studentRegister = new Student("Rachel Green", "a1234");
universityRegister.addStudent(studentRegister);

studentRegister = new Student("Monica Geller", "a12345");
universityRegister.addStudent(studentRegister);

studentRegister = new Student("Ross Geller", "a1111");
universityRegister.addStudent(studentRegister);

System.out.println("Number of student in University: " + Student.studentNumber);        
}}

A。我在3个不同的文件中创建了3个类,1.学生,2.大学,3.大学测试仪。

B。我创建了3个Studnet类型的对象,并将它们作为ArrayList存储在University类中。

我想知道如何打印学生的排列列表,包括来自UniversityTester课程的所有信息?将来,我将创建另一个名为Stuff的对象,并将其作为ArrayList stuffList存储在University类中。因此,我不想打印班级学生的学生名单。

覆盖Student类中的toString((方法,如下所示:

import java.util.StringJoiner;
public class Student {
String name;
String studentID;
static int studentNumber = 0;
Student(String name, String sID) {
this.name = name;
this.studentID = sID;
studentNumber++;
}
@Override
public String toString() {
return new StringJoiner(", ", Student.class.getSimpleName() + "[", "]")
.add("name='" + name + "'")
.add("studentID='" + studentID + "'")
.toString();
}
}

现在,您可以在TestUniversity中按如下方式打印数组列表:

System.out.println("Student Details: " + universityRegister.students);

将其添加到您的学生类中:

@Override
public String toString() {
return String.format("Student: %s , StudentID: %s", name, studentID);
}

然后你可以像这样打印整个阵列:

System.out.println("Students: " universityRegister.students);
//Or like this:
for(Student st: universityRegister.students){
System.out.println(st);
}

最新更新