Java Collections.reverse和Collections.shuffle的使用

Collections.reverse用于反转列表顺序,如将[apple, banana, cherry]变为[cherry, banana, apple],适用于倒序展示场景;2. Collections.shuffle用于随机打乱列表元素,常用于抽题或洗牌等需随机排序的场景,支持自定义Random实例。

java collections.reverse和collections.shuffle的使用

在Java中,Collections.reverseCollections.shuffle 是两个常用的集合操作工具方法,它们都定义在 java.util.Collections 类中,用于对列表(List)进行特定的重排操作。下面分别介绍它们的使用方式和典型场景。

Collections.reverse:反转列表元素顺序

Collections.reverse(List list) 方法用于将指定列表中的元素顺序完全反转。也就是说,原来第一个元素变成最后一个,最后一个变成第一个。

这个方法直接修改原列表,不返回新列表。

示例:

立即学习“Java免费学习笔记(深入)”;

Listwords = new ArrayList(); words.add(“apple”); words.add(“banana”); words.add(“cherry”); System.out.println(“反转前: ” + words); // [apple, banana, cherry] Collections.reverse(words); System.out.println(“反转后: ” + words); // [cherry, banana, apple]

适用场景包括需要倒序展示数据但不想使用 Collections.sort 配合 Comparator.reverseOrder() 的情况,比如日志记录从新到旧显示等。

Collections.shuffle:随机打乱列表顺序

Collections.shuffle(List list) 方法会随机重新排列列表中的元素,常用于实现随机排序功能,比如抽题、洗牌等场景。

该方法也是直接修改原列表。内部使用默认的随机源,也可以传入自定义的 Random 实例以获得可重现的结果。

示例:

立即学习“Java免费学习笔记(深入)”;

List numbers = new ArrayList(); for (int i = 1; i

若需重复测试或保证随机结果可复现,可以传入指定种子的 Random 对象:

Collections.shuffle(numbers, new Random(42)); // 使用固定种子

注意事项

这两个方法只支持可变的 List 实现(如 ArrayList、LinkedList),不能用于不可变列表或数组。

如果传入的是不可修改的列表(例如通过 Arrays.asList 创建且未包装成可变列表),会抛出 UnsupportedOperationException。

确保调用前列表是可修改的:

String[] arr = {“a”, “b”, “c”}; List list = new ArrayList(Arrays.asList(arr)); // 包装为可变列表 Collections.reverse(list);

基本上就这些。reverse 适合顺序翻转,shuffle 适合随机化排列,两者都是实用且简洁的工具方法。

以上就是Java Collections.reverse和Collections.shuffle的使用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/20691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月1日 08:15:35
下一篇 2025年11月1日 08:19:45

相关推荐

发表回复

登录后才能评论
关注微信