我有一个ID数组

  [2,3,1]


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

我现在想以相同的顺序对列表进行排序,用户ID出现在我的数组中。说我能够在代码中使用番石榴(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()));
  }
});

07-23 18:48