gpt4 book ai didi

java - Collections.shuffle 是否保证结果不排序?

转载 作者:行者123 更新时间:2023-12-01 07:57:59 26 4
gpt4 key购买 nike

Collections.shuffle 能否保证结果列表不按升序或降序排序?

假设我有一个包含“a”、“b”、“c”、“d”的字符串字母列表。

Collections.shuffle(letters)之后letters会等于a-b-c-d或d-c-b-a吗?

如果字母最终可以排序,是否有办法阻止Collections.shuffle按升序或降序排列列表?

最佳答案

当然不是,因为那样就不是随机洗牌了。仅仅因为这两种排列对我们人类来说看起来是有序的,并不意味着在选择随机排列时应该避免它们。

如果您确实想避免升序和降序,可以在循环中随机播放,检查列表是否已排序。

while (isSorted(list) || isSorted(list, Comparator.reverseOrder())
Collections.shuffle(list);

使用 isSorted 的适当实现。 (请注意,对于 0 或 1 元素列表,这将是一个无限循环!)

关于java - Collections.shuffle 是否保证结果不排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com