Java中如何对列表进行升序和降序排序?

发布时间:2023年12月27日
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,用于按降序对对象进行排序。

按升序和降序对列表进行排序 - 示例

这里是如何在 Java 中按升序和降序对 Java中的列表进行排序的完整代码示例。记住Collections.sort()是对Collection对象进行排序的关键方法并不困难。你可以传递 Comparator 来定义排序顺序。如果没有传递比较器,则对象必须实现?Comparable接口才能进行排序。

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 中的集合排序完全不同

文章来源:https://blog.csdn.net/Hua19859210361/article/details/135203998
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。