如何在 Java 中排序ArrayList
原文:https://www.studytonight.com/java-examples/how-to-sort-arraylist-in-java
在这篇文章中,我们将对 Java 中的一个ArrayList
进行排序。ArrayList
是 List 接口的一个实现,用于存储数据的类。
排序是我们在日常编程中使用的数据基本操作之一。
对ArrayList
进行排序有多种方式,如使用List
的sort()
方法或Collections
类的sort()
方法或流 API 的sorted()
方法。
我们可以根据需要使用这些排序技术中的任何一种,比如如果我们使用的是 stream,那么 sorted()方法将有助于获得排序的 ArrayList。
举例时间:
让我们创建一个对ArrayList
进行排序的示例。这里我们使用的是sort()
方法,它需要Comparator
参数并对指定的列表进行排序。
import java.util.ArrayList;
import java.util.Comparator;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList = new ArrayList<>();
arrList.add(1030);
arrList.add(1020);
arrList.add(1010);
arrList.add(1040);
System.out.println(arrList);
// Sorting ArrayList
arrList.sort(Comparator.comparing( Integer::new ));
System.out.println("After Sorting:");
System.out.println(arrList);
}
}
【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】
示例:
让我们创建另一个例子来排序ArrayList
。这里,我们使用 Collections 类的 sort()方法,该方法接受一个参数并对列表进行排序。
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList = new ArrayList<>();
arrList.add(1030);
arrList.add(1020);
arrList.add(1010);
arrList.add(1040);
System.out.println(arrList);
// Sorting ArrayList
Collections.sort(arrList);
System.out.println("After Sorting:");
System.out.println(arrList);
}
}
【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】
示例:Java 8
如果您正在使用 Java 8 或更高版本,那么您可以利用流 API 对ArrayList
进行排序。这里,我们使用流的 sorted()方法来帮助对流元素进行排序。
import java.util.ArrayList;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList = new ArrayList<>();
arrList.add(1030);
arrList.add(1020);
arrList.add(1010);
arrList.add(1040);
System.out.println(arrList);
// Sorting ArrayList
arrList = (ArrayList<Integer>)arrList.stream().sorted().collect(Collectors.toList());
System.out.println("After Sorting:");
System.out.println(arrList);
}
}
【1030、1020、1010、1040】 排序后: 【1010、1020、1030、1040】