首页 > Java > java教程 > 如何根据另一个列表的顺序对 Java 列表进行排序?

如何根据另一个列表的顺序对 Java 列表进行排序?

Mary-Kate Olsen
发布: 2024-11-01 21:36:29
原创
856 人浏览过

How to Sort a Java List Based on the Order of Another List?

根据另一个 Java 列表对一个 Java 列表进行排序

对列表 (listA) 中的元素重新排序时,用户可能希望在检索时保留新顺序。由于限制,可能需要在检索后根据定义所需顺序的另一个列表 (listB) 对 listA 进行排序。

要实现此排序,您可以利用 Java 的 Collections.sort 方法和自定义比较器。比较器函数应该根据 listB 中的索引来比较元素。

Java 8 解决方案

<code class="java">Collections.sort(listToSort, Comparator.comparing(item -> listWithOrder.indexOf(item)));</code>
登录后复制

改进的 Java 8 解决方案

<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
登录后复制

此改进的解决方案使用 ComparisonInt 代替比较,提供增强的性能。

以上是如何根据另一个列表的顺序对 Java 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板