- User.class
public class User {
private long priority;
private String name;
public long getPriority() {
return priority;
}
public User setPriority(long priority) {
this.priority = priority;
return this;
}
public String getName() {
return name;
}
public User setName(String name) {
this.name = name;
return this;
}
}
- 待排序集合
List<User> users = Stream.of(new User().setPriority(0).setName("user1"),
new User().setPriority(0).setName("user2"), new User().setPriority(1).setName("user3"),
new User().setPriority(2).setName("user4"), new User().setPriority(4).setName("user5"),
new User().setPriority(0).setName("user6"), new User().setPriority(3).setName("user7"))
.collect(Collectors.toList());
- 目的
求算法,将待排序数据按照指定元素priority
从小到大排序,,priority
大小一致希望一定要随机排序。
感谢各位大佬!
// 这种是按照priority从小到大排序,如何保证priority一致的情况下增加随机性呢
List<User> collect = users.stream().sorted(Comparator.comparing(User::getPriority)).collect(Collectors.toList());
添加一个随机数即可: