我有一个名为 names 的字符串arraylist。如何按字母顺序对arraylist进行排序?
答案 0 :(得分: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 Class String
java.lang.Object扩展 java.lang.String中
所有已实施的接口: Serializable,CharSequence,Comparable
http://download.oracle.com/javase/6/docs/api/java/lang/String.html
答案 1 :(得分: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);
答案 2 :(得分:1)
import java.util.Collections;
然后使用Collections.sort();