Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java集合排序

作者:ˉ吻干迩的'泪   发布日期:2025-03-12   浏览:348

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class CollectionSortExample {

    public static void main(String[] args) {
        // 创建一个包含整数的列表
        List<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(2);
        numbers.add(9);
        numbers.add(1);
        numbers.add(5);
        numbers.add(3);

        // 使用 Collections.sort() 对列表进行排序(自然排序)
        Collections.sort(numbers);
        System.out.println("自然排序后的列表: " + numbers);

        // 定义一个自定义比较器,按降序排序
        Comparator<Integer> descendingOrder = (a, b) -> b - a;

        // 使用 Collections.sort() 和自定义比较器对列表进行排序
        Collections.sort(numbers, descendingOrder);
        System.out.println("降序排序后的列表: " + numbers);

        // 创建一个包含字符串的列表
        List<String> words = new ArrayList<>();
        words.add("apple");
        words.add("orange");
        words.add("banana");
        words.add("grape");

        // 使用 lambda 表达式和方法引用对字符串列表进行排序(按长度排序)
        words.sort(Comparator.comparingInt(String::length));
        System.out.println("按长度排序后的列表: " + words);

        // 使用 lambda 表达式对字符串列表进行排序(按字母顺序排序)
        words.sort((a, b) -> a.compareTo(b));
        System.out.println("按字母顺序排序后的列表: " + words);
    }
}

解释说明

  1. 自然排序:对于实现了 Comparable 接口的对象(如 Integer),可以直接使用 Collections.sort() 方法进行排序。默认情况下,整数是按升序排列的。

  2. 自定义排序:通过实现 Comparator 接口,可以定义自己的排序规则。例如,上面的例子中我们定义了一个降序排序的比较器,并将其传递给 Collections.sort() 方法。

  3. 字符串排序:对于字符串列表,可以使用 Comparator.comparingInt(String::length) 按照字符串长度进行排序,也可以使用 compareTo 方法按照字母顺序进行排序。

  4. Lambda 表达式:在 Java 8 及以上版本中,可以使用 Lambda 表达式简化代码。例如,(a, b) -> a.compareTo(b)Comparator<String> 的一种简洁写法。

上一篇:windows查看java进程

下一篇:java 编程

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站