2011-04-28 41 views
2

我有一個名爲的字符串arraylist名字。如何按照字母順序排列數組列表?在android中排序字符串arraylist

+6

夥計,谷歌「sort arraylist java」。第一次打到你的答案。這個問題與Android無關,這是普通的Java。 – Flo 2011-04-28 07:03:29

+0

@Flo的確如此,但後來我試圖鏈接一個在這裏的愚蠢,一切都變得更加複雜,我找不到任何關於非常基本的東西的問題(關閉是爲了對ArrayList 進行排序)。不過,它可能在這裏,我可能錯過了。 – Aleadam 2011-04-28 07:07:58

回答

3
ArrayList<String> names = new ArrayList<String>(); 
names =fillNames() // whatever method you need to fill here; 
Collections.sort(names); 

http://download.oracle.com/javase/6/docs/api/java/util/Collections.html#sort%28java.util.List%29

對指定列表按升序進行,根據其元素的自然順序。列表中的所有元素都必須實現Comparable接口。此外,列表中的所有元素必須相互可比(即,e1.compareTo(e2)不得爲列表中的任何元素e1和e2拋出ClassCastException)。

String實現Comparable

的java.lang類字符串

java.lang.Object繼承者 java.lang.String中擴展

所有實現的接口: 序列化,CharSequence的,可比較

http://download.oracle.com/javase/6/docs/api/java/lang/String.html

1

import java.util.Collections;

然後使用Collections.sort();

+0

我使用android platform.is有可能在android中使用相同的代碼? – 2011-04-28 07:13:40

2

另一種解決方案,但Collections.sort()是最好的。我只是想展示替代品

ArrayList<String> strings = new ArrayList<String>(); 
    strings.add("a"); 
    strings.add("ab"); 
    strings.add("aa"); 

    String[] stringsArray = new String[strings.size()]; 
    strings.toArray(stringsArray); 
    Arrays.sort(stringsArray); 

    List<String> sorted = Arrays.asList(stringsArray); 

    System.out.println(sorted);