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

Java中使用qsort對類進(jìn)行排序的操作代碼

 更新時間:2023年09月05日 10:03:16   作者:休息一下…  
這篇文章主要介紹了JAVA中如何使用qsort對類進(jìn)行排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

結(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));
    }
}

解析:

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

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 +
                '}';
    }
}

當(dāng)我們需要對類進(jìn)行排序應(yīng)該怎么做呢?

首先我們先定義一個類:

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)在有了這個類之后就可以對他進(jìn)行排序了,此時我們可以先嘗試直接對類進(jì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));
    }

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

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

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

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

緊接著再類中對 compareTo() 方法進(jìn)行重寫。(假如我們用年齡來排序 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;
    }
}

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

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

相關(guān)文章

  • 詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法

    詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法

    這篇文章主要介紹了詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法,講解了System.getEnv()和System.getProperties()這兩個核心方法的使用,需要的朋友可以參考下
    2016-05-05
  • Java實(shí)現(xiàn)模擬機(jī)器人對話的示例代碼

    Java實(shí)現(xiàn)模擬機(jī)器人對話的示例代碼

    本文主要介紹了Java實(shí)現(xiàn)模擬機(jī)器人對話的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Java中EnvironmentAware 接口的作用

    Java中EnvironmentAware 接口的作用

    本文主要介紹了Java中EnvironmentAware 接口的作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Java定時任務(wù):利用java Timer類實(shí)現(xiàn)定時執(zhí)行任務(wù)的功能

    Java定時任務(wù):利用java Timer類實(shí)現(xiàn)定時執(zhí)行任務(wù)的功能

    本篇文章主要介紹了利用java Timer類實(shí)現(xiàn)定時執(zhí)行任務(wù)的功能,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • java Arrays.asList 返回什么與普通 ArrayList 區(qū)別介紹

    java Arrays.asList 返回什么與普通 ArrayList 區(qū)別介

    Arrays.asList()返回一個固定大小的List視圖,而不是java.util.ArrayList,它不支持add和remove操作,但支持set操作,本文介紹java Arrays.asList返回什么與普通 ArrayList區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java線程池execute()和submit()的對比詳解

    Java線程池execute()和submit()的對比詳解

    這段文章詳細(xì)對比了execute()和submit()在Java線程池中的核心區(qū)別,包括返回值、異常處理及支持的任務(wù)類型,并提供了實(shí)戰(zhàn)代碼示例,關(guān)鍵詞:execute()、submit()、線程池提交任務(wù),需要的朋友可以參考下
    2026-06-06
  • spring cloud 使用Eureka 進(jìn)行服務(wù)治理方法

    spring cloud 使用Eureka 進(jìn)行服務(wù)治理方法

    這篇文章主要介紹了spring cloud 使用Eureka 進(jìn)行服務(wù)治理方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Spring Cache與Redis結(jié)合的使用方式

    Spring Cache與Redis結(jié)合的使用方式

    這篇文章主要介紹了Spring Cache與Redis結(jié)合的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java獲取CPU和內(nèi)存占用率最簡單的方法

    Java獲取CPU和內(nèi)存占用率最簡單的方法

    這篇文章主要介紹了Java獲取CPU和內(nèi)存占用率最簡單的方法,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • Spring中事件發(fā)布機(jī)制及流程詳解

    Spring中事件發(fā)布機(jī)制及流程詳解

    這篇文章主要介紹了Spring中事件發(fā)布機(jī)制及流程詳解,在分析源碼的過程中,也是大量使用了事件機(jī)制,在我分析的這篇博客中,有不少地方都運(yùn)用了事件發(fā)布機(jī)制,所以本文的目的是從SpringBoot中學(xué)習(xí)到事件的發(fā)布流程,需要的朋友可以參考下
    2023-11-11

最新評論

禹州市| 当阳市| 尼勒克县| 祁阳县| 高青县| 苗栗县| 富阳市| 商河县| 瑞安市| 广元市| 陇南市| 光泽县| 武夷山市| 高安市| 江华| 高清| 盐池县| 丰台区| 宁河县| 上饶县| 封开县| 阜城县| 绥中县| 额济纳旗| 桐梓县| 乾安县| 江口县| 达州市| 江陵县| 青海省| 盈江县| 乡宁县| 新巴尔虎右旗| 辽中县| 洛川县| 吴旗县| 东乡| 栾川县| 凤山市| 当雄县| 延长县|