方法一:让对象类实现comparable接口,覆写compareTo函数,里面用你说的私有数据来比较大小
方法二:调用 Arrays的另外一个方法public static <T> void sort(T[] a, Comparator<? super T> c)。后面那个参数需要你新建一个Comparator对象
Comparator comparator=new Comparator<T>() {
@Override
public int compare(T o1, T o2) {
// TODO Auto-generated method stub
return 0;
}
};
方法二:调用 Arrays的另外一个方法public static <T> void sort(T[] a, Comparator<? super T> c)。后面那个参数需要你新建一个Comparator对象
Comparator comparator=new Comparator<T>() {
@Override
public int compare(T o1, T o2) {
// TODO Auto-generated method stub
return 0;
}
};
解决方案 »
- 基于Swing的JFrame窗口,如何为菜单添加快捷键,免去鼠标的麻烦?
- 等待终端返回数据与返回数据给用户页面的通信问题
- 如何获取字节中的位信息
- 放置视频。有什么组件来显示好呢?
- EJB 3.0 怎么返回 StringBuffer?StringBuffer为什么为空啊?
- 为什么JBuilder编的程序在JBuilder里能运行,用Javac命令却不用运行?
- 请帮我看看这个程序编得哪里不对
- 找JBUILDER生成EXE文件的详细步骤或说明,在JBUILDER2006上~~
- 图片放大或缩小的另类处理,谁能帮我解决小第再注册10个用户把分全都送给他!
- 求教,tomcat和resin的比较,哪个功能强
- 一个正则匹配的问题
- 请教一个问题,关于main方法的问题
// TODO Auto-generated method stub
if(o1 == null || o2==null){
return o;
}
if(o1.getX()> o2.getX()){
return 1;
}else{
......
}
return 0;
}
能不能给个例子我看下???我刚开始学java不是很懂万分感谢了
能不能给个例子我看下???我刚开始学java不是很懂万分感谢了
package com.compare;import java.util.Arrays;
import java.util.Comparator;public class Student implements Comparable<Student>{
//就简单点按年龄大小排序
private int age;
Student(){
this.age = 0;
}
Student(int age){
this.age = age;
}
public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public int compareTo(Student stu) {
if(this.getAge()>stu.getAge()){
return 1;
}else if(this.getAge()<stu.getAge()){
return -1;
}else{
return 0;
}
}
public static void main(String[] args) {
Student stu[] = new Student[3];
stu[0] = new Student(2);
stu[1] = new Student(1);
stu[2] = new Student(3);
// --------方法一----------
Arrays.sort(stu);
// --------方法二----------
Comparator<Student> compare = new Comparator<Student>() {
@Override
public int compare(Student stu1, Student stu2) {
if(stu1.getAge()>stu2.getAge()){
return 1;
}else if(stu1.getAge()<stu2.getAge()){
return -1;
}else{
return 0;
}
}
};
Arrays.sort(stu, compare);
//----------遍历测试-------------
for(Student o:stu){
System.out.println(o.getAge());
}
}
}