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

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

你可能感兴趣的:(java,开发语言)