周郑

java.utill.Arrays类的sort()方法排序

发布时间:7年前浏览量: 3874 ℃评论数:暂未开放

5、数组的排序

排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++sort()函数,java语言有Arrays(不是Array)。用这些排序时,都可以写自己的排序规则。

5.1 java.utill.Arrays类的sort()方法

Java APIArrays类的说明是:此类包含用来操作数组(比如排序和搜索查询)的各种方法,即:Arrays类提供了很多方法操纵数组,如排序sort(),查询等

  说明:(1)Arrays类中的sort()使用的是“经过调优的快速排序法”;

 (2)比如int[]double[]char[]等基数据类型的数组,Arrays类只是提供了默认的升序排列,没有提供相应的降序排列方法。

(3)要对基础类型的数组进行降序排序,需要将这些数组转化为对应的封装类数组,如Integer[]Double[]Character[]等,对这些类数组进行排序。(其实还不如先进行升序排序,自己在转为将序)

         Arrays类的sort()方法:对数组进行升序排列。

注:Arrays类只是提供了默认的sort()方法升序排列,没有提供相应的降序排列方法。

         语法:      1)在类声明之前,引入Arrays

                                     import java.util.Arrays;

                                 import java.util.*;

                          2) 对数组进行升序排列

Arrays.sort(数组);  

案例:循环输入5位学员成绩,升序输出结果。

package two;

//import java.util.*;     //法一:引入需要的ScannerArrays

import java.util.Scanner; //法二:引入需要的ScannerArrays

import java.util.Arrays;

public class test1 {

    public  static void main(String[] args) {

        Scanner scan=new Scanner(System.in);  //实例化scanner

        int[] arr=new int[5]; //声明一个数组,并且定义长度为5

        for(int i=0;i<arr.length;i++) {

            System.out.println("请输入学生成绩");

            arr[i]=scan.nextInt();   //将成绩依次写入数组

        }

        Arrays.sort(arr);//arr数组进行升序排列

        for(int i=0;i<arr.length;i++) {  //依次将排列后的数据输出

            System.out.println(arr[i]);

        }

    }

}

结果如下:

案例:循环输入一串字符AZB…,倒叙输出结果

package two;

import java.util.*;//引入ScannerArrays

public class test2 {

    public static void main(String[] args) {

        Scanner scan=new Scanner(System.in);//实例化Scanner

        String[] arr=new String[5];  //声明一个字符串类型的数组,并且定义长度为5

        for(int i=0;i<arr.length;i++) {

            System.out.println("请输入字符串");

            arr[i]=scan.next();  //依次接收字符串存入数组中

        }

        Arrays.sort(arr);  //先将数组进行升序排列

        for(int i=arr.length;i>0;i--) {   //要倒叙输出,就先输出下标最大那个

            System.out.println(arr[i-1]); //共有i个,下标最大那个为i-1

        }

        scan.close();

    }

}

结果如下:


每日一言:日复一日,刻苦专研!



Arrays类提供了很多方法操纵数组,如排序sort(),查询等。

微信扫码打赏

打赏排行榜

| 施主 | 时间 | 方式 | 金额 |

曾 俊 2020-02-16 微信打赏 ¥10.00

王 强 2020-01-24 微信打赏 ¥5.00

莫国成 2019-07-20 微信打赏 ¥ 50.00

说明:打赏记录每日24:00:00更新,50%用于无名公益!

1 2 3

手机扫码访问