java中怎么给一个数组排序

ID:19176 / 打印
java 中数组排序方法有三种:arrays.sort()适用于基本类型和实现 comparable 接口的对象类型;comparator.comparing()适用于不实现 comparable 接口的对象类型;collection.sort()适用于通过 collections 工具类包装的数组。

java中怎么给一个数组排序

如何在 Java 中给数组排序

Java 中提供多种方法可对数组进行排序,具体方法取决于数组元素的数据类型以及所需的排序算法。

1. Arrays.sort()

  • 适用数据类型:基本类型(int、double、char 等)和对象类型(实现 Comparable 接口)
  • 算法:快速排序(默认)或归并排序(当数组过大时)
  • 语法:Arrays.sort(array);

例如:

立即学习“Java免费学习笔记(深入)”;

int[] numbers = {5, 2, 8, 3, 1}; Arrays.sort(numbers); // 排序数组 System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 3, 5, 8]

2. Comparator.comparing()

  • 适用数据类型:对象类型(不实现 Comparable 接口)
  • 算法:自定义比较器
  • 语法:Arrays.sort(array, Comparator.comparing(field));

例如:

立即学习“Java免费学习笔记(深入)”;

class Person {     private String name;     private int age;     // ... }  Person[] people = {     new Person("Bob", 30),     new Person("Alice", 25),     new Person("John", 40) };  Arrays.sort(people, Comparator.comparing(Person::getName)); // 按姓名排序 System.out.println(Arrays.toString(people)); // 输出:[Alice, Bob, John]

3. Collection.sort()

  • 适用数据类型:通过 Collections 工具类包装的数组
  • 算法:自定义 Comparator 或使用自然排序(实现 Comparable 接口)
  • 语法:Collections.sort(list);

例如:

立即学习“Java免费学习笔记(深入)”;

List<Integer> numbers = Arrays.asList(5, 2, 8, 3, 1); Collections.sort(numbers); // 排序集合 System.out.println(numbers); // 输出:[1, 2, 3, 5, 8]
上一篇: java怎么把一维数组拼成字符串
下一篇: java中怎么将数组转化为字符串

作者:admin @ 24资源网   2024-11-26

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。