gpt4 book ai didi

java - Collections.Sort() 的行为;

转载 作者:行者123 更新时间:2023-12-01 19:42:58 25 4
gpt4 key购买 nike

我试图理解当数字和字母混合存在时 Collections.sort() 的排序行为。通过研究,我了解到数字在字母之前排序,字符串按字母顺序排序。然而,这个例子对我来说仍然有点困惑。Collections.sorts 升序。如果先对数字排序,为什么结果不是[8, 30, 3A, FF]?

在下面的示例中,结果为 [30, 3A, 8, FF]

List<String> hex = Arrays.asList("30", "8", "3A", "FF");
Collections.sort(hex);
System.out.println(hex);

但在本例中结果是 [30, 40, 50, 60]

  List<String> nums = Arrays.asList ("50", "30", "60", "40");
Collections.sort(nums);
System.out.println(nums);

最佳答案

对字符串进行排序的方式是从比较元素的第一个字符开始。如果第一个元素的第一个字符低于第二个元素的第一个字符,则第一个元素较低,因此它位于顶部。

如果第一个字符相等,则继续处理第二个字符,依此类推...

示例

“80”与“3600”相比==>“3”低于“8”,因此“3600”低于“80”

“88”与“830”比较==>“8”等于“8”,然后尝试第二个“3”低于“8”,因此“830”低于“88”

关于java - Collections.Sort() 的行为;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54632079/

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