读书人

Java兑现类排序

发布时间: 2012-10-28 09:54:44 作者: rapoo

Java实现类排序

用Java实现类排序? 如下步骤:

?

1 待排序的类实现 Comparable 接口

?

2? 重写compareTo 方法

?

3? Collections.sort(listStu);? 实现排序

?

?

代码如下:


public class Student implements {
?
?private int id;
?private String name;
?
?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 int compareTo(Object arg0) {
??Student student1 = (Student) arg0;
??// 按名字排序27????????
??if(student1.id>this.id){
???return -1;
??}else if(student1.id<this.id){
???return 1;
??}else{
???return 0;
??}
?}
?
??? public String toString(){
??? ?String reStr = "";
??? ?reStr += "id=" + id + "? ";
??? ?reStr += "name=" + name + "? ";
??? ?return reStr;
??? }
?
}

?

?

?

?

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


public class TestClass {
?
?
?
?public static void main(String[] args){
??
??List listStu = new ArrayList();
??
??Student stu0 = new Student();
??stu0.setId(32);
??listStu.add(stu0);
??
??Student stu1 = new Student();
??stu1.setId(12);
??listStu.add(stu1);
??
??Student stu2 = new Student();
??stu2.setId(52);
??listStu.add(stu2);
??
??Student stu3 = new Student();
??stu3.setId(65);
??listStu.add(stu3);
??
??Student stu4 = new Student();
??stu4.setId(21);
??listStu.add(stu4);
??
??Student stu5 = new Student();
??stu5.setId(35);
??listStu.add(stu5);
??
??Student stu6 = new Student();
??stu6.setId(123);
??listStu.add(stu6);
??
??Student stu7 = new Student();
??stu7.setId(78);
??listStu.add(stu7);
??
??Student stu8 = new Student();
??stu8.setId(96);
??listStu.add(stu8);
??
??Student stu9 = new Student();
??stu9.setId(75);
??listStu.add(stu9);
??
??Collections.sort(listStu);
??printList(listStu);?
?}
?
?public static void printList(List list){
??
??if(list == null || list.size()==0){
???System.out.println("list is null");
??}
??for(int i=0; i<list.size(); i++){
???System.out.println(list.get(i));
??}
?}

}

读书人网 >编程

热点推荐