我想对某个Integer list进行倒序排序,下面是代码:
class ListComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 > o2)
return -1;
else
return 1;
}
}public class ReverseOrder {
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(3);
list.add(2);
System.out.println(list);
ListComparator c = null;
Collections.sort(list, c);
System.out.println(list);
}
}输出结果是:
[1, 3, 2]
[1, 2, 3]输出结果还是顺序排序,但我期望的是倒序。
请教大家为什么结果还是顺序排序啊?
class ListComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 > o2)
return -1;
else
return 1;
}
}public class ReverseOrder {
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(3);
list.add(2);
System.out.println(list);
ListComparator c = null;
Collections.sort(list, c);
System.out.println(list);
}
}输出结果是:
[1, 3, 2]
[1, 2, 3]输出结果还是顺序排序,但我期望的是倒序。
请教大家为什么结果还是顺序排序啊?
解决方案 »
- 将中文时间转换为日文中的和历时间
- 理论上能否将java程序编译成为脱离虚拟机运行的执行文件?
- JMF摄像头求解
- 请问下好的jar包如何import?
- 如何使JAVA应用程序通过特定的URL来打开并访问对象
- ★一个非常非常非常简单的送分问题 ★ 一个在Applet 中两个label中,输入输出字符串的入门小例子,为什么只能显示一个label呢?我的代码
- 我的ftp server
- Runtime的简单问题,在线等
- jbuilder6的注册问题
- 请问一下,为什么这个java语句跳不出while循环
- form.setContainerObject("aa",aaa,2)
- 如何删除cvs服务器中的一个项目
if (o1 > o2)
return -1;
else if (o1 == o2)
return 0;
else
return 1;
}
改成这样:
import java.util.*;class ListComparator implements Comparator <Integer> { public int compare(Integer o1, Integer o2) {
if (o1 > o2)
return -1;
else if(o1 == o2)
return 0;
else
return 1;
}
} public class ReverseOrder {
public static void main(String[] args) {
List <Integer> list = new LinkedList <Integer>();
list.add(1);
list.add(3);
list.add(2);
System.out.println(list);
Collections.sort(list, new ListComparator());
System.out.println(list);
}
}
Collections.sort(list, c);
这不相当于把null传进去了嘛。
ListComparator c = new ListComparator()
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(3);
list.add(2);
System.out.println(list);
Collections.sort(list, new Comparator<Integer>() {
public int compare(Integer arg0, Integer arg1) {
// TODO Auto-generated method stub
return arg1 - arg0;
}
});
System.out.println(list);
}