JAVA LIST 排序方法

本文详细介绍了Java中自定义比较器进行List排序的方法,通过实现Comparator接口并重写compare方法,实现了基于特定字段的排序逻辑。同时,展示了如何使用Collections.sort方法结合自定义比较器对List进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/××
×JAVA LIST 排序方法
×
××/
private
class ComparatorUser implements Comparator { public int compare(Object arg0, Object arg1) { Object pd1 = (Object) arg0; Object pd2 = (Object) arg1; int flag = String.valueOf(获取pd2中依据排序字段).compareTo(String.valueOf(获取pd1中依据排序字段));
       return flag;
     }
}

//调用方法
Collections.sort(sortList, new ComparatorUser());//调用

 

转载于:https://www.cnblogs.com/ladyM/p/10156492.html

Java 中的 List 接口有一个 sort() 方法,可以用来对列表中的元素进行排序。sort() 方法使用默认的自然排序排序元素,也可以通过传递 Comparator 对象来指定自定义排序规则。 下面是一个示例代码,展示如何使用 sort() 方法对一个整数列表进行排序: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; public class SortListExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(3); numbers.add(1); numbers.add(4); numbers.add(2); // 使用默认的自然排序排序列表 Collections.sort(numbers); // 输出已排序的列表 for (int number : numbers) { System.out.println(number); } } } ``` 上述代码将输出以下结果: ``` 1 2 3 4 ``` 如果要使用自定义排序规则,可以创建一个实现了 Comparator 接口的类,并将其传递给 sort() 方法。例如,下面的代码使用自定义排序规则来对字符串列表进行排序: ```java import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class SortListExample { public static void main(String[] args) { List<String> words = new ArrayList<>(); words.add("banana"); words.add("apple"); words.add("cherry"); words.add("date"); // 使用自定义排序规则来排序列表 Collections.sort(words, new Comparator<String>() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }); // 输出已排序的列表 for (String word : words) { System.out.println(word); } } } ``` 上述代码将输出以下结果: ``` date apple cherry banana ``` 这是因为我们使用了一个比较器来比较字符串的长度。根据我们的比较规则,"date" 的长度最短,因此排在列表的最前面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值