java - 在Java中对列表进行排序的方式相同,id出现在数组中

标签 java list sorting guava

我有一个带有 ids 的数组

  [2,3,1]

从外部休息服务中,我将获得包含 UserObjects 的列表。这些 userObjects 包含用户 ID(1 或 2 或 3)

我现在想以相同的顺序对列表进行排序,用户 ID 出现在我的数组中。也许说我能够在代码中使用 guava (v15) 会很有帮助。 谢谢。

最佳答案

int[] ids = ...
List<UserObject> userObjects = ...
Collections.sort(userObjects, new Comparator<UserObject>() {
  public int compare(UserObject a, UserObject b) {
    return Ints.compare(
        Ints.indexOf(ids, a.getId()),
        Ints.indexOf(ids, b.getId()));
  }
});

关于java - 在Java中对列表进行排序的方式相同,id出现在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987541/

相关文章:

javascript - 按键值对数组排序

Java JPA 类转换器

java - 多个 JTextPanes 的滚动条

java - 更改每个列表元素的 ArrayList<?> 标记

c - 如何编写通用函数对 C 中的字符串数组进行排序?

objective-c - 根据 frame.origin.y 对 UIView 的 NSMutableArray 进行排序

java - 在oracle数据库中调用java存储过程时出错

java - 高性能流数据处理问题

python - 为特定范围内的值建立索引

java - 在Python中迭代字典、列表