เรียงลำดับข้อมูลด้วย Comparable

ปกติการเรียงลำดับข้อมูลมิติเดียว เช่น ชุดข้อมูลที่เป็นตัวอักษร หรือ ตัวเลข ที่อยู่ในรูปแบบ Array เราสามารถใช้คำสั่ง Arrays.sort([arr])  ได้เลยทันที แต่จะทำอย่างไร หากชุดข้อมูลมีหลายมิติ เช่นเป็น Array ของ Object ซึ่งจำเป็นต้องเอาค่าอื่นๆ มาด้วย
วิธีการไม่ยุ่งยากครับ เพียงแค่ implement Object เหล่านั้นด้วยคลาส Comparable ดังตัวอย่างนี้
/**
* @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);
}

}

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.