list排序compare重写
时间: 2023-10-08 17:13:35 浏览: 57
在Java中,我们可以使用Comparator接口来重写compare()方法实现对List进行排序。下面是一个例子:
```
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new LinkedList<>();
list.add("a");
list.add("c");
list.add("b");
// 升序排序
Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
System.out.println("升序排序:" + list);
// 降序排序
Collections.sort(list, (s1, s2) -> s2.compareTo(s1));
System.out.println("降序排序:" + list);
// 倒序排列
Collections.reverse(list);
System.out.println("倒序排列:" + list);
}
}
```
在上面的代码中,我们创建了一个LinkedList并添加了几个元素。然后我们使用Collections.sort()方法对列表进行排序,传入一个Comparator对象来重写compare()方法以实现不同的排序方式。在升序排序中,我们使用s1.compareTo(s2);在降序排序中,我们使用s2.compareTo(s1)。使用Collections.reverse()方法可以将列表倒序排列。
这是一个简单的例子,演示了如何重写compare()方法来实现不同的排序方式。你可以根据自己的需求来修改compare()方法的逻辑,实现更复杂的排序方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [如何Java List的方法改写compare实现升序,降序,倒序的案例](https://blog.csdn.net/dcj19980805/article/details/115214235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]