已有ids(目标顺序)和 users 两个集合
让user的集合根据ids的索引顺序进行排序
public static void main(String[] args) {
@Data
@AllArgsConstructor
class User {
private Integer id;
private String name;
}
List<Integer> ids = new ArrayList<Integer>() {{
add(1);
add(3);
add(2);
add(4);
}};
List<User> users = new ArrayList<User>() {{
add(new User(1,"张三"));
add(new User(2,"李四"));
add(new User(3,"王五"));
add(new User(4,"赵六"));
}};
List<User> userSort = users.stream().sorted((o1, o2) -> {
int index1 = ids.indexOf(o1.getId());
int index2 = ids.indexOf(o2.getId());
return index1 - index2;
}).collect(Collectors.toList());
System.out.println("ids:" + ids);
System.out.println("user:" + users);
System.out.println("userSort:" + userSort);
}
```