2010-07-19 8 views
1

Je fais une application dans laquelle je stocke de nombreuses dates dans un objet persistant.Comment trier les données persistantes?

Je veux faire une liste de ces valeurs longues dans l'ordre croissant, chaque fois qu'une nouvelle valeur vient, à l'intérieur de la persistance, notre liste est triée.

Quelqu'un peut-il m'aider?

Répondre

4

Utilisez net.rim.device.api.util.SimpleSortingVector pour stocker vos données.

2

Comme oxigen dit, utilisez le SimpleSortingVector ... ce qui n'est pas simple à première vue!

Vous devez créer une classe de comparateur pour passer dans le vecteur de tri. Voir l'exemple:

// 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))); 
    } 
} 
Questions connexes