Java List.sort() 方法

2025 年 3 月 24 日 | 阅读 3 分钟

sort() 方法用于根据其自然顺序或用户提供的自定义ComparatorList的元素进行升序排序。List 接口属于java.util包。它扩展了Collection 接口。List 必须是可修改的,否则会抛出异常。

语法

参数

参数 'c' 代表用于比较列表元素的 Comparator。对于 null 值,使用自然排序。

返回

不适用

异常

ClassCastException:如果列表包含不可相互比较的元素,并且这些元素的自然顺序未定义,则会抛出此异常。

UnsupportedOperationException:如果指定列表的列表迭代器不支持排序期间的 set 操作,则会引发此异常。例如,如果列表由不可变数据结构支持,或者列表的迭代器不支持修改操作,则可能发生这种情况。

IllegalArgumentException:如果 Comparator 的契约被违反,则会抛出此异常。例如,比较器在比较某些元素时可能返回不一致的结果,或者在比较元素时可能抛出异常。

NullPointerException:该异常可能在多种情况下抛出

  • 如果指定的列表为 null。
  • 如果指定的比较器为 null 且列表的元素不可相互比较。
  • 如果列表中的任何元素为 null 且比较器不支持 null 值。

ConcurrentModificationException:如果在排序进行时列表在结构上被修改,则可能引发此异常。例如,当在 sort() 方法运行时向列表中添加、删除或修改新元素而不进行适当的同步。

示例 1

JavaListSortExample.java

输出

Original List: [Renu, Heera, Vijay, Geetanjali]
Sorted List (Ascending Order): [Geetanjali, Heera, Renu, Vijay]
Sorted List (Descending Order): [Vijay, Renu, Heera, Geetanjali] 

示例 2

EmployeeSortingExample.java

输出

Unsorted List :
1. 15019 Patanjali
2. 13198 Geetanjali
3. 12112 Anjali

 Sorted List :
1. 12112 Anjali
2. 13198 Geetanjali
3. 15019 Patanjali

下一主题Java List