Friday, August 23, 2013

Cara sortir di Java

Tanpa perlu basa-basi saya akan memberikan sedikit tutorial yakni bagaimana cara menyortir list di java. Seperti kita ketahui list itu sendiri merupakan suatu kumpulan objek. Untuk keperluan sortir sendiri, java sudah menyediakan fasilitas built-in ke kita. Yakni dengan menggunakan utilitas pada java Collections. Berdasarkan informasi yang saya peroleh, algoritma yang digunakan dalam java sorting ini adalah merge sort [1]. Tanpa perlu berbasa basi saudara tinggal menyalin contoh berikut dan langsung di running di komputer anda.

package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Random;
public class Sortir {
Random rand = new Random();
public Sortir() {
String a = "";
int m = 100;
for(int i=0; i< 12; i++){
int aa = rand.nextInt(m);
int bb ;
if( aa % 2 != 0){
bb = m-1 - aa;
}else{
bb = m-1 - aa -1;
aa = aa + 1;
}
for(int j=0; j < bb/2; j++)
a = a+ " ";
for(int j=0; j< aa; j++)
a = a + "*";
for(int j=0; j < bb/2; j++)
a = a+ " ";
list.add(a);
a = "";
}
Collections.sort(list, new Comparator<String>() {
public int compare(String p1, String p2){
return p1.lastIndexOf("*") > p2.lastIndexOf("*")? 1
: p1.lastIndexOf("*") < p2.lastIndexOf("*")?-1:0;
}
});
for(int i=0; i< list.size();i++){
System.out.println(list.get(i));
}
}
ArrayList<String> list = new ArrayList<>();
public static void main(String[] args){
new Sortir();
}
}
view raw Sortir.java hosted with ❤ by GitHub
Jika sudah maka hasil yang akan ditampilkan adalah sebagai berikut:

*********
*******************
*****************************
*****************************************
***********************************************
*********************************************************
***********************************************************
***********************************************************
***************************************************************
*****************************************************************
*************************************************************************
*******************************************************************************************
view raw hasil.txt hosted with ❤ by GitHub
1. http://www.coderanch.com/t/520171/java/java/Collections-sort-merge-sort-insteadof