java - 在 Java 中,如何根据一个列表对另一个列表进行排序?

标签 java list sorting arraylist

我见过其他几个与此类似的问题,但我还没有真正找到任何可以解决我的问题的问题。

我的用例是这样的:用户最初有一个项目列表(listA)。他们对项目重新排序并希望保留该顺序 (listB),但是,由于限制,我无法在后端保留该顺序,因此我必须在检索 listA 后对其进行排序。

基本上,我有 2 个 ArrayList(listA 和 listB)。一个具有列表应具有的特定顺序 (listB),另一个具有项目列表 (listA)。我想根据listB对listA进行排序。

最佳答案

使用 Java 8:

Collections.sort(listToSort, 
    Comparator.comparing(item -> listWithOrder.indexOf(item)));

或更好:

listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));

关于java - 在 Java 中,如何根据一个列表对另一个列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55927667/

相关文章:

java - 如何转换为 GST 日期?

java - Selenium : unknown error: session deleted because of page crash

python - 在 Python 中删除列表中的重复字典

c# - 在递归排序算法中通过引用传递数组的困惑

java - 在 Eclipse 中重命名重构

python - 在Python中循环不按顺序的列表

c - 使用列表内存 - 家庭作业

java - 按方法级别@Order 注释对 spring @Beans 进行排序

C# 使用冒泡排序对 3 个数组进行排序

java - 如何更改图像并在 5 秒后重新运行线程中的主要 Activity 后不返回到 android 中的基本布局