调用 HashSet list=new HashSet();
list里面有
[A, AB, ABC, ABCD, ABCE, ABD, ABDE, ABE, AC, ACD, ACDE, ACE, AD, ADE, AE, B, BC, BCD, BCDE, BCE, BD, BDE, BE, C, CD, CDE, CE, D, DE, E]
想按字符串的长短排序
A:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
public static void main(String[] args) {
String[] a = { "A", "AB", "ABC", "ABCD", "ABCE", "ABD", "ABDE", "ABE", "AC", "ACD", "ACDE", "ACE", "AD", "ADE", "AE", "B",
"BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E" };
List<String> list = new ArrayList<String>();
for (int i = 0; i < a.length; i++) {
list.add(a[i]);
}
Collections.sort(list, new Comparator<String>() {
public int compare(String o1, String o2) {
if (o1 == null) {
return -1;
}
if (o2 == null) {
return 1;
}
return (o1.length() - o2.length());
}
});
System.out.println(list);
}
}输出
[A, B, C, D, E, AB, AC, AD, AE, BC, BD, BE, CD, CE, DE, ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE, CDE, ABCD, ABCE, ABDE, ACDE, BCDE]