java - 使用另一个列表对一个列表进行排序。根据第二个列表交换项目

标签 java sorting comparator

我有两个列表,其中列表 A 有一些项目,列表 B 有有序值,可用于重新排列列表 A。

列表 A = [X, A, Y, B, C, D, E, F],

列表 B = [D, B, A]

我需要得到的结果:

结果:[X、D、Y、B、C、A、E、F]。

正如您所看到的,根据列表 B 中提到的元素,列表 A 的元素已交换并排序。

我们可以使用java比较器来实现这一点吗?或者有什么最快的方法吗?

在实际场景中,

列表 A 包含 A 的对象,列表 B 包含该对象的 mongoId。

class A{

 string mongoId;
 string name;

//getters and setters

}

最佳答案

这不是比较器的情况。我的想法是构建一个映射,将列表 B 的值作为键,将列表 A 中的索引作为值。然后浏览该 map ,您可以在列表 A 中进行适当的切换

关于java - 使用另一个列表对一个列表进行排序。根据第二个列表交换项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625997/

相关文章:

vector - VHDL 直接比较向量

java - 为什么java与C不同具有固定的数据类型大小

Python,从原始形式对我的列表进行排序

java - 在 Comparator.comparing 中转换为可序列化

javascript - 使用 Javascript 或 jQuery 按表的第一列快速排序

java - 根据总值对对象数组列表进行排序

java - 不能在 Comparator<String> 中使用静态 List<String>

java - 强制 JScrollPane 和 JPanel 重绘

java - HashMap 与 ArrayList

java - 转到Java Servlet中的特定目录