栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于在Java中重写sort方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于在Java中重写sort方法

关于在Java中重写sort方法

在Java中可以对类数组和集合来重写sort方法。
1.在类数组中使用的是Arrays.sort()
例如我有三个学生,一个类数组中分别有学生的年龄和名字,现在要按照他的年龄进行排序,如果是降序的话,就需要将sort方法重写,代码如下:

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

        Student n[]=new Student[3];
        for(int i=0;i<3;i++){
            n[i]=new Student();
            n[i].name=sc.next();
            n[i].age=sc.nextInt();
        }
        Arrays.sort(n,new Comparator(){

            @Override
            public int compare(Student o1, Student o2) {
                if(o1.age
            System.out.println(n[i].name+" "+n[i].age);
        }
            }
}
class Student{
    String name;
    int age;
    Student(){}
    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }

2.如何是集合的话,就需要使用Collections.sort()进行重写。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList n=new ArrayList<>();
        for(int i=0;i<3;i++){
            n.add(new Student(sc.nextInt(),sc.next()));
        }
        //重写
        Collections.sort(n,new Comparator(){
            @Override
            public int compare(Student o1, Student o2) {
                if(o1. age
                    return 1;
                }
                else
                    return -1;
            }
        });
        for(int i=0;i<3;i++){
            System.out.println(n.get(i). age+" "+n.get(i).name);
        }
    }
}
class Student{
    int age;
    String name;
    Student(int  age,String name){
        this. age= age;
        this.name=name;
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号