Archive

文章標籤 ‘vector’

排序Vector for Java

2009年1月19日 尚無評論

這次是說的是如何將Vector進行排序

先前大致瞭解Java2本身有提供排序功能,但通常都在寫資料庫的程式
只要是資料排序,一般都在資料庫裡做掉了
很少很少需要在程式進行排序,剛好最近有study一下
寫上來與大家分享..^^

JAVA很簡單,只要是implement List,就可以透過Collections就可以排序啦
以下範例就是一個很簡單的排序:

       Vector v = new Vector();

       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 class PitemSort implements Comparator{
       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.sort(v, new PitemSort());

如此一來,就可以很簡單進行排序啦,不用再自己寫排序方法啦,而Collections非常的彈性,如果要進行
複雜的排序,應該都可以達到,今天就先講簡單的就好!有需要請自行去查API囉!!

參考資料:
http://www.programmersheaven.com/mb/java/381483/381921/re-sorting-in-vector/?S=B20000

Categories: JAVA Tags: , ,