2010-07-19 54 views
1

我正在製作一個應用程序,我在很久的持久對象中存儲了很多日期。如何對持久數據進行排序?

我想按照排列順序列出這些長整型值,無論何時出現新值,在持久性內部,我們的列表都會排序。

有人可以幫助我嗎?

回答

4

使用net.rim.device.api.util.SimpleSortingVector來存儲您的數據。

2

就像oxigen說的那樣,使用SimpleSortingVector ...乍看起來並不簡單!

您必須創建一個比較器類以傳入排序向量。見例:

// Your hashtable with key value pairs 
Hashtable data = getMyHashTableWithSomeDataInIt(); 

// Your sorting vector 
SimpleSortingVector sorted = new SimpleSortingVector(); 

// Iterate through you hashtable and add the keys to the sorting vector 
for (Enumeration e = data.keys(); e.hasMoreElements();) 
{ 
    String key = (String) e.nextElement(); 
    sorted.addElement(key); 
} 

// Pass in the comparator and sort the keys 
sorted.setSortComparator(new MyComparator()); 
sorted.reSort(); 

// Iterate through your sorted vector 
for (Enumeration e = sorted.elements(); e.hasMoreElements();) 
{ 
    String key = (String) e.nextElement(); 
    Object sortedItem = (Object) data.get(key); 

    // Do whatever you have to with the sortedItem 
} 

// Sort compartor for sorting strings 
class MyComparator implements Comparator { 
    public int compare(Object k1, Object k2) { 
     return ((((String) k1).compareTo((String) k2))); 
    } 
}