根据字符串大小(长度)对String数组进行排序

时间:2015-01-29 12:21:35

标签: java arrays string sorting

如何根据字符串大小排序String数组,例如String#length

2 个答案:

答案 0 :(得分:3)

在Java 8中,这可以在一行中完成,

Arrays.sort(randomString, (s1,s2) -> Integer.compare(s1.length(), s2.length()));

如果您想要反向顺序(较长的长度到较低的长度),

将其更改为,

Arrays.sort(randomString, (s1,s2) -> Integer.compare(s2.length(), s1.length()));

另一种方法,

使用Comparator.comparing(String::length)

Arrays.sort(yourArray, Comparator.comparing(String::length)); 

扭转顺序,

Arrays.sort(yourArray, Comparator.comparing(String::length).reversed()); 

答案 1 :(得分:2)

您可以实施一个使用长度的Comparator并与您的比较器一起使用Arrays.sort。比较器看起来像这样:

class StringComparator implements Comparator<String>{
   public int compare(String o1, String o2){
      return Integer.compare(o1.length(), o2.length());
   }
}

现在您可以使用以下调用进行排序:

Arrays.sort(strings, new StringComparator());