首页 > 编程 > Java > 正文

(六)Java程序设计之深入Arrays类

2019-11-06 07:06:01
字体:
来源:转载
供稿:网友

在前面我们使用Arrays类来进行数组的排序,比较,以及填充等操作。接下来我们再深入一点来了解Arrays类。

使用sort方法进行数组升序排序

package test5;import java.util.Arrays;import java.util.Comparator;/** * Java程序设计 TestArraysOne.java * 作者:白芷 * 时间:2017/3/4 * 说明:使用sort方法进行数组升序排序 */class upSort implements Comparator<Integer>{ //声明一个类,实现Comparator接口 @Override public int compare(Integer num1, Integer num2) { return num2-num1; }}public class TestArraysOne { public static void main(String[] args) { Integer[] array={5,6,9,3,2,4}; Arrays.sort(array,new upSort()); for (int j = 0; j < array.length; j++) { System.out.PRint(array[j]+" "); } } /** * 输出 * 9 6 5 4 3 2 * */}

以上的代码重新定义了一个类,并实现了Comparator接口,重写其中的compare方法。 这时候我们会想到,如果我们有一个学生类,然后要对学生的成绩进行排序,要怎么去实现呢?

使用sort方法对学生成绩进行排序

package test5;import java.util.Arrays;import java.util.Comparator;/** * Java程序设计 TestArraysTwo.java * 作者:白芷 * 时间:2017/3/5 * 说明:Arrays类的sort排序方法,对学生成绩进行排序 */class Student{ private String stuName; private Integer stuGrade; public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public Integer getStuGrade() { return stuGrade; } public void setStuGrade(Integer stuGrade) { this.stuGrade = stuGrade; } public Student(String stuName,Integer stuGrade){ this.stuName=stuName; this.stuGrade=stuGrade; } public void printGrade(){ System.out.println(this.stuName+"/t"+this.stuGrade); }}class MySort implements Comparator<Student>{ //声明一个类,实现Comparator接口 @Override public int compare(Student stu1, Student stu2) { return stu2.getStuGrade()-stu1.getStuGrade(); }}public class TestArraysTwo { public static void main(String[] args) { Student stu1=new Student("张三",88); Student stu2=new Student("李四",93); Student stu3=new Student("王五",84); Student stu4=new Student("赵六",86); Student[] stuArray={stu1,stu2,stu3,stu4}; Arrays.sort(stuArray,new MySort()); for(Student stu:stuArray){ stu.printGrade(); } } /** * 输出 * 李四 93 * 张三 88 * 赵六 86 * 王五 84 * */}

如果想了解更多的有关Comparator接口的信息,可以访问一下官方文档: http://docs.Oracle.com/javase/6/docs/api/java/util/Comparator.html


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表