本文介绍在 java 中,如何依据一个辅助列表(如 `coinstatus`)中对象的 `position` 字段,对主列表(如 `coinpricequeryresult`)按关联 id 进行精确重排序。核心思路是构建 id→位置映射表,并通过 `comparator.comparing` 实现高效、可读性强的排序。
要实现按 CoinStatus.position 对 CoinPriceQueryResult 列表进行排序,关键在于建立两个列表之间的逻辑关联——即通过 coinQueryId 将价格结果与预设顺序绑定。直接嵌套遍历(如双重 for 循环)时间复杂度高且不易维护;而使用 Map 预处理位置映射,再结合函数式比较器,是简洁、高效且符合 Java 8+ 最佳实践的方案。
✅ 正确实现步骤
-
确保实体类提供必要 getter 方法(否则编译失败):