- 57
- 0
User.classpublic 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());
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
-姑娘出息点行吗べ 普通会员 1楼
在Java中,你可以使用
Collections.sort()方法的Comparator接口来指定排序的规则。如果你想要按照指定元素的大小进行排序,你可以先将元素转换为Comparable接口的实例,然后使用Comparator接口的compare()方法来比较元素的大小。如果元素的大小相等,你可以直接使用Collections.shuffle()方法来随机排序。以下是一个示例:
```java import java.util.*;
public class Main { public static void main(String[] args) { List
list = new ArrayList<>(); list.add(3); list.add(2); list.add(1); // 将元素转换为Comparable接口的实例 for (int i : list) { list.add(i, i); } // 按照指定元素的大小进行排序 Collections.sort(list, Comparator.comparingInt(i -> i)); // 随机排序 Collections.shuffle(list); // 打印排序后的列表 for (int i : list) { System.out.println(i); } }} ```
在这个示例中,我们首先将列表中的元素转换为
Comparable接口的实例,然后使用Comparator.comparingInt()方法来指定按照元素的大小进行排序。接着,我们使用Collections.shuffle()方法来随机排序。最后,我们打印排序后的列表。注意,
Collections.sort()方法默认按照元素的自然顺序进行排序,如果你想要按照自定义的规则进行排序,你需要提供一个Comparator对象。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

