侧边栏壁纸
博主头像
意义Meaning

每天过的都要有意义

  • 累计撰写 10 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Java排序

意义Meaning
2024-11-12 / 0 评论 / 0 点赞 / 6 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在Java中,可以使用多种方法对数组或集合进行排序。以下是几种常见的排序方法:

1、Arrays.sort():对数组进行排序。
// 使用Arrays.sort()对整型数组进行排序
int[] array = {9, 5, 2, 7, 3};
Arrays.sort(array);
2、Collections.sort():对列表进行排序。
// 使用Collections.sort()对字符串列表进行排序
List<String> list = new ArrayList<>();
list.add("banana");
list.add("apple");
list.add("cherry");
Collections.sort(list);
3、PriorityQueue:通过堆结构实现自然排序。
// 使用PriorityQueue进行自然排序
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
priorityQueue.add(9);
priorityQueue.add(5);
priorityQueue.add(2);
// priorityQueue默认为最小堆,会得到升序排序
4、Comparator:定制排序,可以用于排序对象或自定义排序规则。
// 使用Comparator对象进行自定义排序规则
List<Person> people = new ArrayList<>();
people.sort(Comparator.comparing(Person::getName));
// 假设Person类有一个getName方法,根据姓名字母顺序排序

最近在项目中遇到的:

// 集合排序
// childElements 这是个集合
Collections.sort(childElements,newComparator<T>() {
  @Override
  public intcompare(T o1,T o2) {
    intsort1= o1.getName().startsWith("【xxx】") ?1: o1.getName().startsWith("【yy】") ?2:3;
    intsort2= o2.getName().startsWith("【xxx】") ?1: o2.getName().startsWith("【yy】") ?2:3;
    returnsort1-sort2;
  }
}.thenComparing(T::getName,Comparator.reverseOrder()));

0

评论区