List 接口的 sort() 方法根据比较器中指定的顺序对给定列表进行排序。该列表必须是可修改的,否则会引发异常。
用法
default void sort(Comparator<? super E> c)
参数
参数 'c' 表示用于比较列表元素的 Comparator。对于空值,使用自然排序。
返回
NA
抛出:
ClassCastException- 如果列表包含使用比较器不能相互比较的元素
UnsupportedOperationException- 如果列表的 list-iterator 不支持排序操作
IllegalArgumentException- 如果发现比较器违反了比较器协议。
例子1
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class JavaListSubListExample3 {
public static void main(String[] args) {
List<String> list= new LinkedList<>();
list.add("Renu");
list.add("Heera");
list.add("Vijay");
list.add("Geetanjali");
System.out.println("List:"+list);
//will sort the string acc to the alphabets
Collections.sort(list);
System.out.println("Sorted List:"+list);
}
}
输出:
List:[Renu, Heera, Vijay, Geetanjali] Sorted List:[Geetanjali, Heera, Renu, Vijay]
例子2
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Employee {
int id;
String name;
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
public String toString()
{
return this.id + " " + this.name ;
}
}
class SortById implements Comparator<Employee> {
// Used for sorting in ascending order of ID
public int compare(Employee a, Employee b)
{
return a.id - b.id;
}
}
// Main class
class JavaListSubListExample2 {
static int i=1;
public static void main (String[] args) {
List<Employee> list = new ArrayList<Employee>();
Employee employee1 = new Employee(15019, "Patanjali");
Employee employee2 = new Employee(13198, "Geetanjali");
Employee employee3 = new Employee(12112, "Anjali");
list.add(employee1);
list.add(employee2);
list.add(employee3);
System.out.println("Unsorted List:");
for (Employee val:list) {
System.out.println(i++ +". "+val);
}
Collections.sort(list, new SortById());
System.out.println();
System.out.println(" Sorted List:");
int i=1;
for (Employee val:list) {
System.out.println(i++ +". "+val);
}
}
}
输出:
Unsorted List: 1. 15019 Patanjali 2. 13198 Geetanjali 3. 12112 Anjali Sorted List: 1. 12112 Anjali 2. 13198 Geetanjali 3. 15019 Patanjali
相关用法
- Java List spliterator()用法及代码示例
- Java List size()用法及代码示例
- Java List sublist()用法及代码示例
- Java List retainAll()用法及代码示例
- Java List add(E ele)用法及代码示例
- Java List add()用法及代码示例
- Java List remove(Object obj)用法及代码示例
- Java List get()用法及代码示例
- Java List add(int index, E element)用法及代码示例
- Java List removeAll()用法及代码示例
- Java List listIterator()用法及代码示例
- Java List toArray()用法及代码示例
- Java List indexOf()用法及代码示例
- Java List containsAll()用法及代码示例
- Java List remove(int index)用法及代码示例
- Java List equals()用法及代码示例
- Java List isEmpty()用法及代码示例
- Java List lastIndexOf()用法及代码示例
- Java List addAll()用法及代码示例
- Java List contains()用法及代码示例
注:本文由纯净天空筛选整理自 Java List sort() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。