ArrayList,设置升序排序 – 降序 Java
????????在 Java 中按升序和降序对 List、Set 和 ArrayList 进行排序非常容易,只需要知道正确的 API 方法即可。?例如?Collections.sort()? 方法将对传递给它的集合进行排序,不返回任何内容,只对集合本身进行排序。从 Java 8 开始,您还可以使用?List.sort()方法直接按升序或降序对 List 进行排序,而无需使用Collections.sort()方法。如果你喜欢使用Stream API,它还提供了 sort() 方法来对 Stream 中的元素进行排序。你还可以使用它对任何列表进行排序。例如,您可以先将 List 转换为 Stream,然后对 Stream 进行排序并将结果收集到另一个 List 中。?
如果 List 很大,那么使用 List.sort() 方法是有意义的,但如果 List 很小,你可以使用 Java 中的任何方法对 List 进行排序。还值得注意的是,?? Java 中Collections类的sort(?) 方法被重载,其中另一个版本采用Comparator并按照Comparator定义的顺序对 Collection 的所有元素进行排序。
?
如果我们不传递任何Comparator?,那么对象将根据其自然顺序进行排序 ,就像 String 将按字母顺序或字典顺序排序。整数将按数字等排序。?
对象的默认排序顺序是升序,例如 Integer 将从低到高排序,而降序则相反。Collections.reverseOrder()返回一个 Comparator,用于按降序对对象进行排序。
按升序和降序对列表进行排序 - 示例
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Java程序对List、ArrayList和Set进行升序和降序排序的示例
* 在Java中,Collections.sort() 方法用于对集合进行排序,Collections.reverseOrder() 将以降序对集合中的元素进行排序。
* 作者:Javin Paul
*/
public class CollectionSortingExample {
public static void main(String args[]) throws InterruptedException {
// 按升序对 List 进行排序
List<Integer> list = Arrays.asList(1, 2, 5, 9, 3, 6, 4, 7, 8);
System.out.println("Java 中的未排序列表:" + list);
// 在 Java 中对 List 进行排序,Collections.sort() 方法将进行排序
Collections.sort(list);
System.out.println("Java中的列表按升序排列:" + list);
// 在 Java 中按降序对 List 进行排序
Collections.sort(list, Collections.reverseOrder());
System.out.println("Java List 按降序排序:" + list);
// Java中ArrayList按字母升序排序
ArrayList<String> letters = new ArrayList<>();
letters.add("c");
letters.add("b");
letters.add("a");
letters.add("d");
System.out.println("Java 中未排序的 ArrayList:" + letters);
// 将ArrayList按升序排列
Collections.sort(letters);
System.out.println("Java 中按升序排序的 ArrayList:" + letters);
// 在Java Collections中将ArrayList按降序排序
Collections.sort(letters, Collections.reverseOrder());
System.out.println("Java中ArrayList按降序排序:" + letters);
}
}
如ArrayList和Set的排序示例所示,现在可以在Java中按升序和降序对LinkedList进行排序。由于?Collections.sort()方法适用于 Collection 接口,因此任何 Collection 实现(如 Set、HashSet)也可以按元素的升序、降序或逆序进行排序。?
顺便说一句,Java 中的数组排序与 Java 中的集合排序完全不同