iT邦幫忙

0

[Java] Comparable interface 介紹

閱讀時間: 5分鐘

Comparable interface 在java.lang package內。
它只有一個method - compareTo(Object)。
只可以提供單一排序(arrays或者lists)例如 ID號碼、姓名、地址等等。

compareTo(Object obj) method

class Student implements Comparable<Student>{  
int rollno;  
String name;  
int age;  
Student(int rollno,String name,int age){  
this.rollno=rollno;  
this.name=name;  
this.age=age;  
}  
  
public int compareTo(Student st){  
if(age==st.age)  
return 0;  
else if(age>st.age)  
return 1;  
else  
return -1;  
}  
}  

主要的Class:

import java.util.*;  
public class MainSort{  
public static void main(String args[]){  
ArrayList<Student> al=new ArrayList<Student>();  
al.add(new Student(101,"Vijay",23));  
al.add(new Student(106,"Ajay",27));  
al.add(new Student(105,"Jai",21));  
  
Collections.sort(al);  
for(Student st:al){  
System.out.println(st.rollno+" "+st.name+" "+st.age);  
}  
}  
}  

• 一個負數,即是現在的參數比特定的參數小。
• 零,即是現在的參數等於特定的參數。
• 一個正數,即是現在的參數比特定的參數大。

String class 和Wrapper classes 預設了實作Comparable interface。所以當大家的物件是以String class 或Wrapper classes 存儲在list/set/map,就會自動預設使用Comparable interface。

參考文章/網站/書本:


尚未有邦友留言

立即登入留言