最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Java中如何對類進行排序詳解

 更新時間:2023年08月25日 09:50:12   作者:休息一下…  
這篇文章主要給大家介紹了關(guān)于如何在Java中使用Arrays.toString()對類進行排序的相關(guān)資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下

結(jié)論: 

import java.util.Arrays;
class Person implements Comparable<Person>{
    public String name;
    public int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    @Override
    public int compareTo(Person o) {
        return this.age - o.age;
    }
}
public class Main{
    public static void main(String args[]){
        Person[] arr = new Person[3];
        arr[0] = new Person("zhang", 10);
        arr[1] = new Person("wang", 13);
        arr[2] = new Person("li", 11);
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

解析: 

我們知道當我們定義了一個整型數(shù)組然后想對其進行排序時就可以使用 Arrays.toString() 方法對數(shù)組進行排序,系統(tǒng)會默認將其按照升序排列。

    public static void main(String args[]){
        int[] arr = {2,6,3,0,5,2};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }

當我們需要對類進行排序應該怎么做呢?

首先我們先定義一個類:

class Person{
    public String name;
    public int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 我們現(xiàn)在有了這個類之后就可以對他進行排序了,此時我們可以先嘗試直接對類進行排序操作:

    public static void main(String args[]){
        Person[] arr = new Person[3];
        arr[0] = new Person("zhang", 10);
        arr[1] = new Person("wang", 13);
        arr[2] = new Person("li", 11);
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }

 雖然報錯了但是我們從報錯信息中可以找到這一塊代碼:

從中我們可以清晰的看到它將我們的代排序類強制類型轉(zhuǎn)換成了 Comparable 而我們的類根本就不能進行強制類型轉(zhuǎn)換成Comparable從而引起了錯誤。

我們既然已經(jīng)知道了哪里出現(xiàn)了錯誤那么改掉之后我們就可以實現(xiàn)使用 Arrays.toString() 方法來排序類。

此時我們先修改我們的類,使其實現(xiàn) Comparable 接口:

緊接著再類中對 compareTo() 方法進行重寫。(假如我們用年齡來排序 compareTo() 方法的返回值為:大于返回大于0的數(shù);小于返回小于零的數(shù);等于返回0)

class Person implements Comparable<Person>{
    public String name;
    public int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    @Override
    public int compareTo(Person o) {
        return this.age - o.age;
    }
}

運行之后可以看到結(jié)果按照年齡升序排序。 

總結(jié)

到此這篇關(guān)于在Java中如何對類進行排序的文章就介紹到這了,更多相關(guān)Java對類排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot如何使用redis的incr創(chuàng)建分布式自增id

    springboot如何使用redis的incr創(chuàng)建分布式自增id

    這篇文章主要介紹了springboot如何使用redis的incr創(chuàng)建分布式自增id,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java?9中的"菱形"語法詳解

    Java?9中的"菱形"語法詳解

    Java?9?再次增強了“菱形”語法,它甚至允許在創(chuàng)建匿名內(nèi)部類時使用菱形語法,Java?可根據(jù)上下文來推斷匿名內(nèi)部類中泛型的類型,下面程序示范了在匿名內(nèi)部類中使用菱形語法,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • JDK1.8與JDK17多版本共存相互切換(windows、macOS、Linux、IDE)

    JDK1.8與JDK17多版本共存相互切換(windows、macOS、Linux、IDE)

    在電腦已經(jīng)安裝之前主流的jdk1.8后避免不了要安裝新的主流jdk17,本章主要目的是介紹不同項目和場景間切換JDK?1.8和JDK?17,提高開發(fā)效率并避免版本沖突(包括windows、macOS、Linux、IDE)
    2025-12-12
  • JAVA 枚舉單例模式及源碼分析的實例詳解

    JAVA 枚舉單例模式及源碼分析的實例詳解

    這篇文章主要介紹了 JAVA 枚舉單例模式及源碼分析的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • idea插件之mybatis log plugin控制臺sql的問題

    idea插件之mybatis log plugin控制臺sql的問題

    這篇文章主要介紹了idea插件之mybatis log plugin控制臺sql,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • maven多模塊項目依賴管理與依賴繼承詳解

    maven多模塊項目依賴管理與依賴繼承詳解

    這篇文章主要介紹了maven多模塊項目依賴管理與依賴繼承詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring注解中@Configuration和@Component到底有啥區(qū)別

    Spring注解中@Configuration和@Component到底有啥區(qū)別

    之前一直搞不清@Component和@Configuration這兩個注解到底有啥區(qū)別,一直認為被這兩修飾的類可以被Spring實例化嘛,最近終于弄明白了,這篇文章主要給大家介紹了關(guān)于Spring注解中@Configuration和@Component到底有啥區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Java批量生成節(jié)假日值班表Rota的示例詳解

    Java批量生成節(jié)假日值班表Rota的示例詳解

    本文介紹了一個基于2025年1月真實節(jié)假日安排的Java值班排班算法的純內(nèi)存實現(xiàn),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-12-12
  • Spring Security中的 @PreAuthorize 注解使用方法和示例代碼

    Spring Security中的 @PreAuthorize 注解使用方法和示例代碼

    @PreAuthorize是SpringSecurity中用于方法級權(quán)限控制的重要注解,本文詳細介紹了@PreAuthorize的使用方法,通過合理使用@PreAuthorize,可以實現(xiàn)細粒度的權(quán)限控制,確保應用程序的安全性,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java HashMap兩種簡便排序方法解析

    Java HashMap兩種簡便排序方法解析

    這篇文章主要介紹了Java HashMap兩種簡便排序方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01

最新評論

尖扎县| 惠州市| 天峻县| 东乌珠穆沁旗| 古田县| 常宁市| 墨竹工卡县| 襄城县| 文登市| 连平县| 文登市| 中卫市| 东阿县| 富阳市| 英超| 玛沁县| 双流县| 宿州市| 太保市| 叙永县| 灵山县| 南昌县| 万州区| 新宾| 若尔盖县| 信宜市| 正定县| 建湖县| 嘉鱼县| 屏山县| 郓城县| 泉州市| 金堂县| 延安市| 甘肃省| 汽车| 遵化市| 澎湖县| 鲁山县| 游戏| 阳信县|