java - 如果字符串长度相等,则恢复为自然排序顺序

标签 java sorting comparator performance

我正在尝试读取文件并比较字符串长度。如果两个字符串长度相同,那么我想按自然排序顺序(按字母顺序)对它们进行排序。

这是我正在研究的比较器的片段。除了对相同长度的字符串进行排序之外,一切都已完成。

    Collections.sort(s, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return o1.length() - o2.length();
        }
    }); 

感谢您的任何意见或建议

最佳答案

只需在比较方法中添加一个 if else block 即可。

伪代码:

if lengths are not equal 
   return o1's length compared to o2's length.
else 
   return o1 compared to o2.

我想你可以弄清楚剩下的事情。

关于java - 如果字符串长度相等,则恢复为自然排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18949616/

相关文章:

java - 为什么我们不能以常规方式在外部类的主要方法中创建内部类的实例?

java - MongoCursorNotFoundException - 查询失败,错误代码 -5

java - 使用比较器接口(interface)时出错

c++ - std::map 不删除自定义对象的重复项

java - Java 8 Comparator 类型推断非常困惑

java - 日语字符未正确显示转换 CSV 文件

Java - 将串口字节数组转换为Int?

python - sorted() 自动按元组的第二个元素排序

sql - 考虑用户偏好来处理排序结果-数据库

c++ - 简单的 std::sort 不工作