在 Java 中根据另一个列表对一个列表进行排序
在 Java 中,可以根据另一个列表的顺序对一个列表进行排序。当您在一个列表 (listB) 中有特定的项目序列并且您想要重新排列第二个列表 (listA) 以匹配该顺序时,这可能很有用。
实现此目的的一种方法是使用具有自定义比较器的 Collections.sort() 方法如下:
<code class="java">Collections.sort(listToSort, new Comparator<T>() { @Override public int compare(T o1, T o2) { return listWithOrder.indexOf(o1) - listWithOrder.indexOf(o2); } });</code>
这里,listToSort 表示未排序的列表,listWithOrder 包含所需的顺序。此比较器根据 listWithOrder 中元素的顺序对 listToSort 进行排序。
对于 Java 8 及更高版本,您可以使用 lambda 和 ComparisonInt() 方法来简化代码:
<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
以上是如何在 Java 中根据另一个列表的顺序对一个列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!