【发布时间】:2016-05-18 09:37:40
【问题描述】:
import java.util.*;
class student
{
int roll;
int marks;
student(int roll, int marks)
{
this.roll=roll;
this.marks=marks;
}
}
public class eList4
{
public static void main(String args[])
{
Scanner scann=new Scanner(System.in);
List <student> mylist= new ArrayList<student>();
int n=scann.nextInt();
while((n--)>0)
{
System.out.println(n+" enter student details:");
int roll=scann.nextInt();
int marks=scann.nextInt();
student temp=new student(roll, marks);
mylist.add(temp);
}
Collections.sort(mylist, new Comparator<student>() {
@Override
public int compare(student a, student b) {
int k=b.roll;
int kk=a.roll;
if(b.roll>a.roll)
{
return 1;
}
else
return 0;
}
});
System.out.println(mylist);
Iterator itr = mylist.iterator();
i=0;
while(itr.hasNext())
{
student temp=itr.next();
System.out.println(temp.roll +" "+temp.marks);
}
}
}
这给了我相同的结果,根本没有排序。 如何根据卷号进行排序? 这给出了相同的结果。 好吧,这给了我相同的结果,根本没有排序。 如何根据卷号进行排序? 这给出了相同的结果。
【问题讨论】:
-
你的
compare方法永远不会返回-1。 -
那么我应该怎么做才能使它正常工作?
-
返回 b.roll
a.roll? 1:0;在你的比较方法中 -
这不起作用@Unknown
-
什么不起作用?它应该工作
标签: java sorting collections