方式一:冒泡排序
-
需求
- 已知数组
int[] arr = {25,69,80,57,13}
,请编写代码对齐进行升序排序 - 即:排序后结果为:
arr={13,25,57,67,80}
- 已知数组
-
原理
- 相邻元素两两比较,大的往后走,第一轮比较完毕后,最大之久出现了最大索引处
-
代码
public class Test{ public static void main(String[] args) { // 1.定义数组,记录要排序的元素 int[] arr = {25,69,80,57,13}; // 2.通过外循环,控制比较的轮数 for (int i=0;i<arr.length-1;i++){ // 3.通过内循环,控制每轮比较的次数 for (int j=0;j<arr.length-1;j++){ // 4.如果前一个元素比后边的元素大,就交换他们的位置 if (arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } // 5.for循环执行结束后,数组就已经排好顺序了,直接打印即可 for (int i = 0;i<arr.length;i++){ System.out.println(arr[i]); } } }
方式二:Arrays类
-
概述
- 它是对数组进行操作的工具类。提供了把数组转成字符串,对数组排序等功能
- 工具类解释
- 构造方法私有化
- 成员方法都是静态的
-
成员方法
- public static String toString(int[] arr):把int类型的数组转成其对应的字符串形式
- public static void sort(int[] arr):对给定的int数组,按照元素升序的顺序进行排序
-
示例
public class Test{ public static void main(String[] args) { // 1.定义数组 int[] arr = {25,69,80,57,13}; // 2.打印排序前的结果 System.out.println("排序前:"+Arrays.toString(arr)); // 3.对数组进行升序排列 Arrays.sort(arr); // 4.打印排序后的结果 System.out.println("排序后:"+Arrays.toString(arr)); } }
Arrays类的构造方法问题
- Arrays类中有一个私有的空参构造方法,这样做的目的是:不让用户通过构造方法来创建Arrays类的对象
- 因为Arrays类的成员都是静态的,可以通过类名点的形式直接调用