當前位置:成語大全網 - 書法字典 - 如何用java實現Comparable接口?

如何用java實現Comparable接口?

數組排序必須實現Comparable接口,然後重寫compareTo方法。這種排序模式是根據字典排序模式排列的。妳可以查看相關類的API。我給妳寫了壹個類,我把學號寫成了壹個字符串,所以在compareTo()方法中,妳必須先把字符串轉換成int類型進行比較。有點長~直接把學號改成Int就可以對比了。代碼如下:公共類學生實現可比較{

公共字符串stu _ Id

公共字符串stu _ Name

公共學生(字符串stu_Id,字符串stu_Name) {

super();

this.stu _ Id = stu _ Id

this.stu _ Name = stu _ Name

}

公共void show(){

System.out.println("學號:"+this.stu _ id+"+"姓名:"+this . stu _ Name);

} /**

* @param args

*/

公共靜態void main(String[] args) {

// TODO自動生成的方法存根

TreeSet & lt學生& gtts =新樹集<。學生& gt();

學生[]學生=新生[5];

學生[0] =新生(" S001 "," lily ");

學生[1] =新生(" S002 "," Lucy ");

學生[2] =新生(" S003 ","湯姆");

學生[3] =新生(“S004”,“新浪”);

學生[4] =新生(" S005 "," haly ");

ts . add(student[0]);

ts.add(學生[1]);

ts . add(student[2]);

ts . add(student[3]);

ts . add(student[4]);

Arrays.sort(學生);

對於(學生:t s)

s . show();

} public int compareTo(Object o) {

// TODO自動生成的方法存根

Student temp =(Student)o;

if(integer . value of(this . stu _ id . substring(1,this . stu _ id . length()))& gt;integer . value of(stu temp . stu _ id . substring(1,stuTemp.stu_Id.length()))){

return-1;

}

else if(integer . value of(this . stu _ id . substring(1,this . stu _ id . length()))& lt;integer . value of(stu temp . stu _ id . substring(1,stuTemp.stu_Id.length()))){

返回1;

}

否則{

返回0;

}

}}