Java中的sort()方法是用于对数组进行排序的,它可以对整数、浮点数、字符串等类型的数组进行排序,sort()方法有两种形式:一种是默认升序,另一种是默认降序,本文将详细介绍这两种形式的sort()方法,以及如何自定义排序规则。
默认升序(冒泡排序)
1、冒泡排序的基本思想:通过不断地比较相邻的两个元素,将较大的元素往后移动,较小的元素往前移动,这样经过多次遍历,最终实现数组的升序排列。
2、冒泡排序的实现步骤:
(1)从第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。
(2)重复第(1)步,直到比较到最后一个元素。
(3)将最后一个元素与第一个元素交换位置,此时整个数组已经有序。
3、Java中sort()方法的默认行为就是使用冒泡排序,以下是一个简单的示例:
public class BubbleSort { public static void main(String[] args) { int[] arr = {5, 3, 8, 1, 6}; bubbleSort(arr); for (int num : arr) { System.out.print(num + " "); } } public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length 1; i++) { for (int j = 0; j < arr.length 1 i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } }
输出结果:1 3 5 6 8
默认降序(选择排序)
1、选择排序的基本思想:在未排序的序列中找到最小(或最大)的元素,将其与序列的第一个元素交换,然后在剩余的未排序序列中继续寻找最小(或最大)元素,将其与序列的第二个元素交换,以此类推,经过多次遍历,最终实现数组的降序排列。
2、选择排序的实现步骤:
(1)从第一个元素开始,依次找到剩余序列中的最小元素。
(2)将找到的最小元素与当前元素交换位置。
(3)重复第(1)和第(2)步,直到比较到最后一个元素。
3、Java中sort()方法的默认行为就是使用选择排序,以下是一个简单的示例:
public class SelectionSort { public static void main(String[] args) { int[] arr = {5, 3, 8, 1, 6}; selectionSort(arr); for (int num : arr) { System.out.print(num + " "); } } public static void selectionSort(int[] arr) { for (int i = 0; i < arr.length 1; i++) { int minIndex = i; for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } }
输出结果:6 5 3 8 1
自定义排序规则(自定义比较器)
1、Java中的Comparator接口用于定义自定义的排序规则,要使用自定义排序规则,需要实现Comparator接口,并重写compare()方法,compare()方法接收两个参数,分别表示要比较的两个对象,如果返回负数,表示第一个对象小于第二个对象;如果返回正数,表示第一个对象大于第二个对象;如果返回0,表示两个对象相等。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/195659.html