我正在尝试使用 Arrays.sort()
根据长度对字符串数组进行排序,但这会按字典顺序而不是按长度对字符串进行排序。这是我的代码:
S = "No one could disentangle correctly"
String W[] = S.split(" ");
Arrays.sort(W);
排序后:
correctly
could
disentangle
no
one
但我想要的是
no //length = 2
one //length = 3
could //length = 4 and likewise
correctly
disentangle
我怎样才能得到上面的输出?请给出 JDK 1.7 和 JDK1.8 的答案。
原文由 Zohra Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 JDK 1.8 或更高版本,那么您可以使用像 matt answer 这样的 _lambda 表达式_。但是,如果您使用的是 JDK 1.7 或更早版本,请尝试编写一个 自定义比较 器,如下所示: