Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 集合的行为。Sort();_Java_Sorting_Collections - Fatal编程技术网

Java 集合的行为。Sort();

Java 集合的行为。Sort();,java,sorting,collections,Java,Sorting,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.ou

我试图了解集合的排序行为。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);
List hex=Arrays.asList(“30”、“8”、“3A”、“FF”);
集合。排序(十六进制);
系统输出打印项次(十六进制);
但在这个例子中,结果是[30,40,50,60]

  List<String> nums = Arrays.asList ("50", "30", "60", "40");
  Collections.sort(nums);
  System.out.println(nums);
List nums=Arrays.asList(“50”、“30”、“60”、“40”);
集合。排序(nums);
系统输出打印项次(nums);

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

如果第一个字符相等,则与第二个字符相同,以此类推

示例

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


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

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

如果第一个字符相等,则与第二个字符相同,以此类推

示例

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


与“830”相比,“8”等于“8”,然后尝试第二个“3”小于“8”,因此“830”小于“88”

结果是30、3A、8、FF,因为数字排在第一位,3按字母顺序排在8之前。你不是在比较数字。您正在比较字符串。要对数字进行排序,您需要一个
列表


如果要基于两种不同的数据类型进行排序,则需要在
集合中实现自己的排序方法。使用包装器对象进行排序。

结果是30、3A、8、FF,因为数字排在第一位,字母顺序是3排在8之前。你不是在比较数字。您正在比较字符串。要对数字进行排序,您需要一个
列表

如果要基于两种不同的数据类型进行排序,则需要在
集合中实现自己的排序方法。使用包装器对象进行排序。

相关:相关: