从构造函数返回ArrayList的集合

时间:2014-03-25 06:37:32

标签: java arraylist getter-setter

我的这个初学者作业需要创建一个名为getStudentsByMajor(String major)的方法。

此方法返回主修专业的学生的集合(ArrayList)。

到目前为止,我的进展如下:

    private String courseName;
    private String roomNumber;
    private String Lecturer;
    private ArrayList <Student> studentList;

    public LectureRoom(String roomNumber , String courseName , String Lecturer)
    {

        this.courseName=courseName;
        this.roomNumber=roomNumber;
        this.Lecturer = Lecturer;
        this.studentList = new ArrayList<Student>();
    }

    public void addStudent(String name, String id, String major)
    {
        Student s = new Student(name, id , major);
        studentList.add(s);
    }

    public ArrayList<Student> getStudentsByMajor(String major)
    {

    }

(部分问题详情) 提示:

public ArrayList<Student> getStudentsByMajor(String major)

更多提示:

for(ElementType element: collection){
    loop body;
    }

学习二传手和吸气器,我明白每当“吸气”和“吸气”这个词在那里,通常没有参数。

我认为可行的是:

public ArrayList<Student> getStudentsByMajor(String major)
        {
            for( Student a : studentList)
            {
                System.out.println(major)
            }
        }

显然这是错的,但我希望我能在这里得到一些指示。

2 个答案:

答案 0 :(得分:3)

getStudentsByMajor

  1. 创建一个新的学生列表(空)
  2. 迭代现有学生(studentList
  3. 为每个学生检查专业
  4. 如果主要确定添加到新列表
  5. 返回新列表

答案 1 :(得分:1)

public ArrayList<Student> getStudentsByMajor(String major)
{
    ArrayList<Student> students = new ArrayList<>();

    for (Student student : studentList) {
        if (student.getMajor().equals(major))
            students.add(student);
    }

    return students;
}