2013-03-07 3 views
5

Comment trier NameValuePair objets comme celui-ci par cléNameValuePair sorte

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(7) 

nameValuePairs.add(new BasicNameValuePair("api_key", "1")); 
nameValuePairs.add(new BasicNameValuePair("merchant", "4")); 
nameValuePairs.add(new BasicNameValuePair("format", "json")); 
nameValuePairs.add(new BasicNameValuePair("method", method)); 
nameValuePairs.add(new BasicNameValuePair("cid", "0")); 
+2

S'il vous plaît spécifier le type de 'nameValuePairs' –

+0

Liste nameValuePairs = new ArrayList (7) –

Répondre

13

passe dans le Comparator qui trie deux NameValuePair s par clé. Quelque chose comme

Comparator<NameValuePair> comp = new Comparator<NameValuePair>() {  // solution than making method synchronized 
    @Override 
    public int compare(NameValuePair p1, NameValuePair p2) { 
     return p1.getName().compareTo(p2.getName()); 
    } 
} 

// and then 
Collections.sort(pairs, comp); 
+0

Merci beaucoup! –

0

En Java 8, vous pouvez utiliser

Collections.sort(pairs, Comparator.comparing(NameValuePair::getName));