如何对Student类型的ArrayList进行排序?

时间:2016-05-27 09:41:36

标签: java

我正在阅读有关在java实现中排序列表的内容:我发现这个代码是关于使用for循环和索引器对ArrayList进行排序的:

public class Exam {

  private String courseCode;
  private ArrayList<Student> anm;

  public Exam(String courseCode) {

    this.courseCode = courseCode;
    anm = new ArrayList<Student>();
  }

  /** Returns a list containing all registered students.
   * The list should be in alphabetical order of names. */
  public ArrayList<Student> getAllStudents() {
    ArrayList<Student> list = new ArrayList<Student>();
    for (Student student : anm) {
      int i = 0;
      while (i < list.size() && student.getName().compareTo(list.get(i).getName()) > 0) {
        i++;
      }
      list.add(i, student);
    }
    return list;
  }
}

我尝试用这种方式重写getAllStudents()方法:

public ArrayList<Student> getAllStudents(){
  Collections.sort((List) anm);
  return anm;
}

我被迫在我的实现中进行转换,因为如果我不添加转换部分,我会收到错误。

我的实施是否正确?

由于

0 个答案:

没有答案