使用Collections.sort对对象的LinkedList进行排序

时间:2015-04-10 22:09:08

标签: java sorting

好的,所以我的LinkedList包含学生类的对象:

public class Student implements Comparable<Student>, Serializable {
    private String name;
    private String gNumber;
    private double gpa;



    public int compareTo(Student s) {
        return name.compareTo(s.getName());
    }

我正在尝试使用Collections.sort对LinkedList进行排序:

public class SimpleDatabase implements iSimpleDatabase {
     LinkedList<Student> list = new LinkedList<Student>();
     //code

    @Override
    public void Sort() {
        Collections.sort((List<Student>) list);

    }

将从我的GUI actionlistener调用sort方法,但是当我尝试对其进行排序时,我收到错误:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:   package1.LinkedList cannot be cast to java.util.List

在调用Collections.sort()的行上。

我确信我只是真的很蠢,而且我可以'为我的生活弄清楚这一点,我在网上找不到任何可以解释为什么它不适合我的东西。谢谢你的帮助。

2 个答案:

答案 0 :(得分:6)

您已经定义了自己的&#34; LinkedList&#34; package1.LinkedList中的课程,这是您尝试传递给Collections#sort的课程。您的自定义类需要实现List接口,或者您应该使用java.util.LinkedList

答案 1 :(得分:0)

要使用Collections.sort,您应该让LinkedList类实现java.util.List,

您还可以使用标准库中的LinkedList实现:

See here