2013-03-07 18 views
5

Jak można sortować NameValuePair obiekty takie jak ten przez kluczowychNameValuePair rodzaj

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

proszę określić typ 'nameValuePairs' –

+0

List nameValuePairs = new ArrayList (7) –

Odpowiedz

13

Pass w komparatora który sortuje dwie NameValuePair S od klucza. Coś jak

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

Dziękuję bardzo! –

0

W Javie 8 można użyć

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