目標: 使用Collection.sort 來進行ArrayList (List) 的排序,需實作 Comparator。
以下為一個實際的例子,加入三個字串後,依照字串長度由長排到短。
public class test1
{
private static void test()
{
ArrayList string = new ArrayList();
//加入三個字串
string.add("a");
string.add("bb");
string.add("ccc");
//將字串由長排到短, 第一個參數是擺要排序的物件,第二個參數則是實作 Comparator 的函數
java.util.Collections.sort(string, new compare());
}
public static void main(String args[])
{
test();
}
}
上面程式碼所使用到的 compare 函數如下:
public class compare implements Comparator
{
public int compare(Object arg0, Object arg1)
{
String str1 = arg0.toString();
String str2 = arg1.toString();
if(str1.length()>str2.length())
{
//回傳-1代表把元件向前排, 代表str1排在str2的前面
return -1;
}else
if(str1.length()<str2.length())
{
//回傳1代表把元件向後排, 代表str1排在str2的後面
return 1;
}else
{
return 0;
}
}
}
文章標籤
全站熱搜
