阅读时间: 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。
参考文章/网站/书本:
Java Comparable interface