排序Vector for Java
這次是說的是如何將Vector進行排序
先前大致瞭解Java2本身有提供排序功能,但通常都在寫資料庫的程式
只要是資料排序,一般都在資料庫裡做掉了
很少很少需要在程式進行排序,剛好最近有study一下
寫上來與大家分享..^^
JAVA很簡單,只要是implement List,就可以透過Collections就可以排序啦
以下範例就是一個很簡單的排序:
v.add(“anupama”);
v.add(“jyothi”);
v.add(“durga”);
v.add(“vaseef”);
v.add(“priya”);
Collections.sort(v);
System.out.println(“Vector elements after sorting : “);
for(int i=0; i<v.size(); i++)
System.out.println(v.get(i));
而如果Vector存入的不是字串這種單純的物件呢?
Collections可以透過實作Comparator來進行排序
以下就是要針對GoodItem的某一屬性進行比較排序,所以實作Comparator的compare即可
當比較大時就回傳1,反之就回傳-1:
public int compare(Object obj1, Object obj2){
GoodItem o1=(GoodItem) obj1;
GoodItem o2=(GoodItem) obj2;
if(o1.getPrice()>o2.getPrice()){
return 1;
}
if(o1.getPrice()<o2.getPrice()){
return -1;
}
return 0;
}
}
而要使用時,只要import進行在sort時,指定要以實作的Comparator進行排序即可,範例指令如下:
如此一來,就可以很簡單進行排序啦,不用再自己寫排序方法啦,而Collections非常的彈性,如果要進行
複雜的排序,應該都可以達到,今天就先講簡單的就好!有需要請自行去查API囉!!
參考資料:
http://www.programmersheaven.com/mb/java/381483/381921/re-sorting-in-vector/?S=B20000
近期留言