เรียงลำดับข้อมูลด้วย Comparable
ปกติการเรียงลำดับข้อมูลมิติเดียว เช่น ชุดข้อมูลที่เป็นตัวอักษร หรือ ตัวเลข ที่อยู่ในรูปแบบ Array เราสามารถใช้คำสั่ง Arrays.sort([arr]) ได้เลยทันที แต่จะทำอย่างไร หากชุดข้อมูลมีหลายมิติ เช่นเป็น Array ของ Object ซึ่งจำเป็นต้องเอาค่าอื่นๆ มาด้วย
วิธีการไม่ยุ่งยากครับ เพียงแค่ implement Object เหล่านั้นด้วยคลาส Comparable ดังตัวอย่างนี้
/**
* @author S.Chatchawal (JAVAKUNG)
* 22 เม.ย. 2553 15:53:18
*/
* @author S.Chatchawal (JAVAKUNG)
* 22 เม.ย. 2553 15:53:18
*/
public class SimilarUser implements Comparable<SimilarUser>{
private String user;
private double score;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public int compareTo(SimilarUser o) {
double score_a=o.getScore();
double score_b = this.score;
return (int)(score_b*100) – (int)(score_a*100);
}
}