我需要按照字符串的长度对LinkedList进行排序,但是希望保留相同长度字符串的顺序(不按字典顺序排序)。
示例输入:
我正在尝试使用
我在主方法中使用以下代码:
然后打印出列表...
但是输出结果如下:
示例输入:
this
is
just
a
test
示例输出:
a
is
this
just
test
我正在尝试使用
Comparable<LinkedList<String>>
和compareTo
方法来完成这个任务,但是我的输出不正确(它仍然按字典顺序排序)。public class Q3_sorting implements Comparable<LinkedList<String>> {
Scanner keyboardScanner = null;
LinkedList<String> fileList = new LinkedList<String>();
// [...] 这里有一些代码
public int compareTo(LinkedList<String> o) {
// TODO Auto-generated method stub
o = fileList;
for (int i = 0; i < fileList.size() -1; i++) {
if (fileList.get(i).length() == o.get(i+1).length()) {
return 0;
}
if (fileList.get(i).length() > o.get(i+1).length()) {
return -1;
}
if (fileList.get(i).length() < o.get(i+1).length()) {
return 1;
}
}
我在主方法中使用以下代码:
Q3_sorting sort = new Q3_sorting(args);
Collections.sort(sort.fileList);
然后打印出列表...
但是输出结果如下:
a
is
just
test
this
我该如何纠正这个问题?