我见过其他几个与此类似的问题,但我还没有真正找到任何可以解决我的问题的问题。
我的用例是这样的:用户最初有一个项目列表(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/18129807/