【问题标题】:Sort objects in ArrayList based on priority given to the properties of object根据对象属性的优先级对 ArrayList 中的对象进行排序
【发布时间】:2015-10-13 04:14:28
【问题描述】:

我需要对一个名为 studentsList 的学生数组列表进行排序,这些学生拥有不同的分数,例如行为、阅读、数学。

    public class Student{
            private String name;
            int behaviorScore;
            int readingScore;
            int mathScore;
    }

我为每个属性创建了一个默认构造函数、getter 和 setter。

有一个字符串数组列表,它将存储名为priorityList 的字符串,它将存储学生列表需要排序的顺序。 priorityList 的元素将被动态添加。

例如,让priorityList看起来像下面的 {"行为","阅读","数学"}

现在,我需要根据 priorityList 中的顺序对 studentsList 中的学生进行排序。

任何人,请帮助解决这个排序问题。

提前致谢。

【问题讨论】:

  • 你试过什么?请访问help center 了解在发布问题之前的预期内容。

标签: java sorting arraylist comparator


【解决方案1】:

Collections.sort() 与自定义Comparator 一起使用

【讨论】:

  • 我也在尝试。但是,我需要使用 if else 或 switch 条件为priorityList 的每个组合编写逻辑,这使逻辑更加混乱。因此,我正在尝试是否可以在不使用更多条件的情况下找到任何逻辑。
  • 在您的情况下,您可以将一些共享对象传递给比较器的构造函数,该构造函数可以存储中间计算结果(包括源数组的副本)
  • 谢谢,我试试这个。
  • 谢谢蒂利亚斯。我把列表排序了
  • @VamshiKrishna 有人在采访中问了我同样的问题。这是我在谷歌上得到的参考。如果你能分享一些代码来了解你是如何实现这个目标的,我将不胜感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 2017-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多