JavaMay 30, 2007 8:22 am
Mengurutkan bean berdasarkan propertinya
Kita memiliki sebuah array dari kelas dengan nama Identitas
package sinderela;
public class Identitas {
private String nama;
private String nim;
public Identitas() {
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getNim() {
return nim;
}
public void setNim(String nim) {
this.nim = nim;
}
}
Kita ingin mengurutkan data (yang dimiliki setiap kelas diatas) berdasarkan propertinya (bisa nama maupun nim) ini dapat diselesaikan dengan menggunakan pustaka commons-beanutils dari
http://jakarta.apache.org/commons/index.html (untuk dapat menggunakan beanutils kita harus turut pula menyertakan commons-logging dan commons-collections)
package sinderela;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.commons.beanutils.BeanComparator;
public class Mengurutkan {
public static void main(String[] args) {
Identitas identitas1 = new Identitas();
identitas1.setNama("hari");
identitas1.setNim("11");
Identitas identitas2 = new Identitas();
identitas2.setNama("desi");
identitas2.setNim("12");
Identitas identitas3 = new Identitas();
identitas3.setNama("nurhayati");
identitas3.setNim("13");
Identitas[] identitas = new Identitas[]{identitas1,identitas2,identitas3};
List listNama = Arrays.asList(identitas);
// Comparator bandingkan = new BeanComparator("nim");
Comparator bandingkan = new BeanComparator("nama");
Collections.sort(listNama,bandingkan);
for (int i = 0; i < listNama.size(); i++) {
Identitas hasil = (Identitas)listNama.get(i);
System.out.println(hasil.getNama());
}
}
}
jika program ini dijalankan akan dihasilkan
desi
hari
nurhayati
Method BeanComparator (dari commons-beanutils) mengurutkan data berdasarkan properti dari kelas Identitas (nama/nim)
