簡體   English   中英

如何打印 ArrayList? - java

[英]How to print an 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.Student、2.University、3.UniversityTester。

B. 我創建了 3 個 Studnet 類型的對象,並將它們作為 ArrayList 存儲在 University class 中。

我想知道如何打印學生的 ArrayList,包括來自 UniversityTester class 的所有信息? 將來,我將創建另一個名為 Stuff 的 object,並將其作為 ArrayList stuffList 存儲在大學 class 中。 因此,我不想從 class Student 打印學生列表。

覆蓋學生 class 中的 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);

將此添加到您的學生 class:

  @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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM