java - 如何按集合中对象的属性对列表进行排序?

标签 java hibernate list sorting

所以我已经放弃了无法可靠地使用列表的顺序,因为 hibernate 颠倒了它并且每个人都说不要这样做,所以我在我的类中添加了一个字段作为位置。我有:

@Entity
class Procedure {
...
int procedureId;
List<Task> tasks;
...
}

@Entity
class Task {
...
int taskId;
int position;
}

现在我不知道如何处理与列表的交互。当我第一次从数据库中获取它并开始使用它时,我是否应该按位置对其进行排序,然后我可以保留我已经编写的所有用户重新排列代码,然后将所有位置重置为订单列表以便我回来时可以使用?

在此处跳至实际问题:

这似乎是最好的方法,但我如何根据集合中对象的属性对列表进行排序?

最佳答案

例如,要按位置排序,您可以使用

java.util.Collections.sort(tasks, new Comparator<Task>() {
@Override
public int compare(Task t1, Task t2) {
    return t1.getPosition() - t2.getPosition();
});

尤瓦尔=8-)

关于java - 如何按集合中对象的属性对列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/903357/

相关文章:

java - 格式化字符串到日期转换而不更改java中的格式

java - 为数据库中的唯一名称创建附加 ID?

r - 在 R 中创建多个相同(相同维度)矩阵的列表

python - 从 Python 3 中的坐标对列表中获取 n 个最高 y 值

java - 将阿尔巴字符串日期转换为英文日期

JAVA扫描器在if/else语句中输入字符串

java - izpack 安装程序输入属性文件没有密码字段的输入

hibernate - 是否可以使用 Hibernate 中的条件选择列中具有最大值的数据?

java - Hibernate HQL 是否支持正则表达式模式匹配?

python - 如何使用 matplotlib.animation 从动态增长的列表中连续流式传输数据点以进行实时绘图?