Syt*_*the 3 java sorting priority-queue string-comparison comparator
我正在做一个小项目,并想知道什么可能是最好(最有效)的方式来订购一堆Stringsby:
前者是最初排序的方式.
我在考虑使用优先级队列,但我不确定是否有更有效的方法来排序Strings.
另外,我很难弄清楚如何按长度排序后按字母顺序排序.如果有人有更好的方法对这些进行排序或者知道如何在第一次排序之后进行排序,那么答案就会很好.
您希望的最有效的比较排序实现将在O(nlogn)时间运行.有许多算法可供选择.Java内置了此功能.
要按字母顺序对字符串进行排序,然后按字母顺序排序,您应该使用自己的字符串比较方法 Comparator<String>
Comparator<String> comparator = new Comparator<String>(){
@Override
public int compare(String s1, String s2) {
//TODO define the comparison based on length, and then alphabetically
return 0;
}
};
List<String> strings = ...
Collections.sort(strings, comparator);
Run Code Online (Sandbox Code Playgroud)