1 import java.util.Comparator; 2 import java.util.Set; 3 import java.util.TreeSet; 4 5 public class SortString { 6 7 public static void main(String[] args) { 8 String[] strs = new String[] { "abcdef", "abcde", "abcdefg", "abc", 9 "abccd" }; 10 11 Set<String> set = sort(strs); 12 for (String s : set) 13 System.out.println(s); 14 } 15 16 private static Set<String> sort(String[] strs) { 17 // TODO Auto-generated method stub 18 Set<String> set = new TreeSet<>(new Comparator<String>() { 19 20 @Override 21 public int compare(String o1, String o2) { 22 // TODO Auto-generated method stub 23 if (o1.length() < o2.length()) 24 return -1; 25 else if (o1.length() > o2.length()) 26 return 1; 27 return o1.compareTo(o2); 28 } 29 }); 30 31 for (String s : strs) 32 set.add(s); 33 34 return set; 35 } 36 37 }
如题:按字符串长度由短到长排序字符串,长度相同按照自然顺序进行排序,代码如上。
分析:
TreeSet具有排序功能,自定义比较器对字符串进行排序。
也可以使用工具java.util.
Arrays.
方法进行排序,自行实现sort(T[]
a, Comparator<? super T> c)