类别使用经典的快速排序算法

发布时间:2025-06-24 19:38:50  作者:北方职教升学中心  阅读量:144


类别使用经典的快速排序算法。#xff00c;点一个免费的赞#xff0c;注意不要迷路[比心]~。

排序方法。

Java中的。

2.2.3 匿名内部类。本文将进行深入探讨 sort() 函数的基本原理及其在实际应用中的多种用法。



在 Java ࿰编程c;sort() 函数是一种非常重要和常用的方法,对数组或集合进行排序操作。该方法将利用多核处理器的优点,将数组分成多个部分,然后并行排序每个部分,最后,

2.1 默认排序(#xff08;升序)

格式:

Arrays.sort(array);Collections.sort(list);

 例子:

///int[]排序整形数组 array = {5, 2, 9, 1, 3};Arrays.sort(array);System.out.println(Arrays.toString(array)); ///输出:[1, 2, 3, 5, 9]/对字符串数组进行排序String[] names = {"John", "Alice", "Bob", "David"};Arrays.sort(names);System.out.println(Arrays.toString(names)); ///输出:[Alice, Bob, David, John]// 对列表进行排序<Integer> list = new ArrayList<>();list.add(5);list.add(2);list.add(9);list.add(1);list.add(3);Collections.sort(list);System.out.println(list); // 输出:[1, 2, 3, 5, 9]。2.2.2 使用。//例1:int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};Arrays.parallelSort(arr);System.out.println(Arrays.toString(arr));  // 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]/例2Listtt<Integer> list = new ArrayList<>();// 在列表中添加大量数据 = list.parallelStream().sorted().collect(Collectors.toList());Java 引入并行排序。

2.2.4 逆序排序采用Lambda表达式。

List<Developer> listDevs = getDevelopers();Comparator<Developer> comparator = Comparator.comparing(Developer::getAge) .thenComparing(Developer::getName);listDevs.sort(comparator);2.6 并行排序。2.2.2 使用。

1. sort() 函数的基本原理。在Java 在以后的版本中,Arrays。改进后的快速排序算法࿰用于小数组的排序c;归并排序算法用于大型数组的排序。

2.3 对自定义对象进行排序。

2.4 Lambda Comparator的实现表达式简化。

2.2 局部排序

格式:

Arrays.sort(数组名,start,end);//注意左右开关,如果你有一个非常大的数组,你可以用。

例: 。

Comparator<Developer> byName = (Developer o1, Developer o2) -> o1.getName().compareTo(o2.getName());

这里,我们创建了一个Comparator来比较两个Developer对象的名称。

///数组自定义对象排序Person[] people = {new Person("Alice", 25), new Person("Bob", 20), new Person("Charlie", 30)};Comparator<Person> byName = Comparator.comparing(Person::getName);//注:Person Arrayss,sort()。

2.4.2 省略类型定义:

humans.sort((h1, h2) -> h1.getName().compareTo(h2.getName()));

这个例子,我们不需要指定h1和h2的类型,自动推断编译器。

2.4.2 省略类型定义:

2.4.3 使用静态方法引用:

2.4.4 使用实例法引用:

2.5 多级排序。我们使用human等静态方法compareBynamethenage作为comparator。

自从 Java 8 引入了 Lambda 表达式,我们可以更简单地定义比较器:

2.4.1 Lambda基本表达式。

Integer[] arr = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};Arrays.sort(arr, (o1, o2) -> o2 - o1);

2.3 对自定义对象进行排序。

Integer[] arr = {8, 9, 5, 2, 3, 6, 1, 0, 7, 4};Arrays.sort(arr, new Comparator<Integer>() {    @Override    public int compare(Integer o1, Integer o2) {        return o1 - o2;    }});

2.2.4 逆序排序采用Lambda表达式。

1. sort() 函数的基本原理。

2.4.4 使用实例法引用:

Collections.sort(humans, Comparator.comparing(Human::getName));

2.5 多级排序。#xff01;!![start,end)。

方法。

int[] array = {5, 2, 9, 1, 3};//对数组的一部分内容进行排序(索引从1到3󿀌包括1,

详情请参阅前期:一篇文章让你对java中的sort()有深入的了解 方法的底层原理,Collections.sort,Arrays.sort_java sort的底层原理-CSDN博客。

2.4.1 Lambda基本表达式。合并结果。

Arrays.parallelSort()。

2.2 排序(逆序排序));

有时我们需要对数组或集合进行倒序排序c;࿱可以通过自定义比较器实现a;

2.2.1 使用Collections使用Collections.reverseOrder()逆序排序的方法。

2. sort() 函数的使用。

在 Java 中,sort() 函数可用于对数组或集合进行排序c;它的用法略有不同。

2.4.3 使用静态方法引用:

humans.sort(Human::compareByNameThenAge);

在这里,函数是一种高效的排序算法,其具体实现原理取决于排序数据的类型和大小。在Java 之前,Arrays。

//数组:Integer[] arr = {3, 1, 4, 1, 5, 9};Arrays.sort(arr, Collections.reverseOrder());// 输出:[9, 5, 4, 3, 1, 1]Collections.sort(list, nameComparator.reversed());//集合:List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9);Collections.sort(list, Collections.reverseOrder());System.out.println(list); // 输出:[9, 5, 4, 3, 1, 1]。

2.6 并行排序。

List<Student> list = Student.getStudentList();Comparator<Student> nameComparator = (s1, s2) -> s1.getName().compareTo(s2.getName());Collections.sort(list, nameComparator.reversed());

2.2.3 匿名内部类。

2.2.2 使用Comparator.reversed()方法。类中需要getName().sort(people, byName); //按姓名排序//// Listttt集合自定义对象排序<Person> persons = new ArrayList<>();persons.add(new Person("Alice", 25));persons.add(new Person("Bob", 30));persons.add(new Person("David", 20));Comparator<Person> byName = Comparator.comparing(Person::getName);Collections.sort(persons, byName); // 使用 Collections.sort() 对 List 排序//匿名内部public static List<People> compareTest(List<People> arr) { Collections.sort(arr, new Comparator<People>() { public int compare(People p1, People p2) { int a = p1.age; //比较age int b = p2.age; return a < b ? -1 : a == b ? -1 : a == b ? 0 : 1; //当a<b返回-1�a==b返回0�a>b返回1 } });

2.4 Lambda Comparator的实现表达式简化。不包括3)Arrays.sort(array, 1, 3);System.out.println(Arrays.toString(array)); //输出-xff11a;[5, 1, 2, 9, 3]。

Comparator.reversed()。

目录。

2.1 默认排序(#xff08;升序)

2.2 局部排序。

总结不容易󿀌如果对你有帮助,

2.2 排序(逆序排序));

2.2.1 使用Collections使用Collections.reverseOrder()逆序排序的方法。

2. sort() 函数的使用。

2.2 局部排序。