import java.util.*;
class ArrayListTest
{
public static void printElements(Collection c)
{
Iterator it=c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[] args)
{
Student s1=new Student(2,"zhangsan");
Student s2=new Student(1,"lisi");
Student s3=new Student(3,"wangwu");
ArrayList<Object> al=new ArrayList<Object>();
al.add(s1);
al.add(s2);
al.add(s3);
Collections.sort(al);
printElements(al);
}
}
class Student implements Comparable
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public int CompareTo(Object o)
{
Student s=(Student)o;
return num>s.num?1:(num==s.num?0:-1);
}
public String toString()
{
return num+":"+name;
}
}
class ArrayListTest
{
public static void printElements(Collection c)
{
Iterator it=c.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[] args)
{
Student s1=new Student(2,"zhangsan");
Student s2=new Student(1,"lisi");
Student s3=new Student(3,"wangwu");
ArrayList<Object> al=new ArrayList<Object>();
al.add(s1);
al.add(s2);
al.add(s3);
Collections.sort(al);
printElements(al);
}
}
class Student implements Comparable
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public int CompareTo(Object o)
{
Student s=(Student)o;
return num>s.num?1:(num==s.num?0:-1);
}
public String toString()
{
return num+":"+name;
}
}
{
Student s=(Student)o;
return num>s.num?1:(num==s.num?0:-1);
}CompareTo ---> compareTo
2:zhangsan
3:wangwu
Collections.sort(al);
错误说明为:
类型安全:类型 Collections 的通用方法 sort(List<T>)的未经检查的调用
sort(List<Student>)
请问怎么修改啊?
除了自动修改用的
@SuppressWarnings("unchecked")
--->
ArrayList<Student> al=new ArrayList<Student>();
or
ArrayList al=new ArrayList();
默认情况下是按顺序排序的,也就是等于null,
也可以加comparator比较器按你想要的顺序进行排序