java - Java中多个字符串比较LinkedList

标签 java sorting comparator

我有一个像这样的自定义对象:

 Linkedlist<ClassInfo> classes = new LinkedList<ClassInfo>();

其中有教师姓名、类(class)名称、房间号等的访问器。这些都是字符串。我遇到过这样的情况:LinkedList 中的数据需要通过不同的参数(即教师姓名、类(class)名称、房间号等)显示。

任何人都可以提供如何快速实现此操作的方法吗?如果我使用 Compartor 接口(interface),我如何能够告诉它按哪个字符串字段对列表进行排序?我的研究还引导我找到了 Collat​​or,我想知道这是否有用。

感谢任何帮助。

最佳答案

为每个字段编写不同的Comparator实现:

Comparator<ClassInfo> CLASS_NAME_COMPARATOR = new Comparator<ClassInfo>() {
  public int compare(ClassInfo class1, ClassInfo class2) {
    return class1.getClassName().compareTo(class2.getClassName());
  }
};
... // implementations for other fields

...然后根据合适的比较器进行排序:

Collections.sort(classes, CLASS_NAME_COMPARATOR);

关于java - Java中多个字符串比较LinkedList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818117/

相关文章:

java - 将 Java 应用程序作为 Windows 7 服务运行时获取 "GPG Error"

java android 路径动画

bash - 使用未知分隔符的 Unix 排序(最后一列)

javascript - 检查 JS 中的数组 - 列表是否已排序?

Java比较器按多个字段排序,字段计数应该是动态的

C++ 自定义比较器不工作 MWE

java - 如何将公历转换为中国农历?

java - 如何使用 android 使用 ip camera 拍照

c++ - 在模板中排序链表 - 字符串问题

java - 这是如何编译的?