您的位置:首页 > 其它

Comparable的使用

2016-07-10 08:08 239 查看
package aab;

public class Student implements Comparable{

int id;
String name;
String age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}

@Override
public int compareTo(Object o) {
int result = 0; //返回对比结果 0为相等,负整数为小于,正整数为大于
if(o instanceof Student) {
Student student = (Student)o;
if(student.getId() > this.id) {
return -1;
} else if (student.getId() < this.id) {
return 1;
}
}
return result;
}

public Student(int id,String name,String age){

this.id=id;
this.name=name;
this.age=age;
}

}

package aab;

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

public class CompareTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
compareList();
System.out.println(students);
System.out.println(students.values());
//这里不能直接用Student student:students.values循环
for(Object object:students.values()){
Student student=(Student) object;
System.out.println(student.getId()+" "+student.getName()+" "+student.getAge());
}

}
static Map<Integer, Student> students=new HashMap<Integer, Student>();
private static void compareList(){

Student student5=new Student(5, "老五","32" );
students.put(5, student5);
students.put(3,new Student(3, "老三","56" ));
students.put(1,new Student(1, "老大","81" ));
students.put(9,new Student(9, "老九","18" ));
students.put(4,new Student(4, "老四","52" ));
students.put(2,new Student(2, "老二","72" ));
students.put(8,new Student(8, "老八","21" ));
students.put(6,new Student(6, "老六","35" ));

}
}


参考博文:http://huangyunbin.iteye.com/blog/1114397
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Comparable