亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何實現ArrayList排序

發布時間:2022-05-25 09:16:08 來源:億速云 閱讀:158 作者:iii 欄目:開發技術

這篇文章主要介紹“Java如何實現ArrayList排序”,在日常操作中,相信很多人在Java如何實現ArrayList排序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java如何實現ArrayList排序”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

簡介

說明

本文用示例介紹Java的ArrayList排序的方法。

List排序方法

主要有三種方法(按推薦度排序):

  • JDK8的stream

  • Comparator#compare()

  • Comparable#compareTo()

法1:JDK8的stream

見:一文詳解Java中Stream流的使用

法2:Comparator#compare()

需求:用戶有成績和年齡。按成績排序,若成績相同,則按年齡排序。

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
 
 
class User{
 
    private int score;
 
    private int age;
 
    public User(int score, int age){
        super();
        this.score = score;
        this.age = age;
    }
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
}
 
 
public class Demo {
    public static void main(String[] args) {
        List<User> users = new ArrayList<User>();
        users.add(new User(95, 26));
        users.add(new User(84, 23));
        users.add(new User(96, 25));
        users.add(new User(95, 24));
        Collections.sort(users, new Comparator<User>() {
            @Override
            public int compare(User o1, User o2) {
                int i = o2.getScore() - o1.getScore();
                if(i == 0){
                    return o1.getAge() - o2.getAge();
                }
                return i;
            }
        });
        for(User user : users){
            System.out.println(user.getScore() + "," + user.getAge());
        }
    }
 
}

執行結果

96,25
95,24
95,26
84,23

法3:Comparable#compareTo()

默認按增序排序:

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
public class Demo {
    public static void main(String[] args) {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(3);
        nums.add(5);
        nums.add(1);
        nums.add(0);
        System.out.println(nums);
        Collections.sort(nums);
        System.out.println(nums);
    }
 
}

執行結果:

[3, 5, 1, 0]
[0, 1, 3, 5]

需求:用戶有成績和年齡。按成績降序排序,若成績相同,則按年齡正序排序。

package org.example.a;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
 
class User implements Comparable<User>{
 
    private int score;
 
    private int age;
 
    public User(int score, int age){
        super();
        this.score = score;
        this.age = age;
    }
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    @Override
    public int compareTo(User o) {
        int i = o.getScore() - this.getScore();
        if(i == 0){
            return this.getAge() - o.getAge();
        }
        return i;
    }
}
 
 
public class Demo {
    public static void main(String[] args) {
        List<User> users = new ArrayList<User>();
        users.add(new User(95, 26));
        users.add(new User(84, 23));
        users.add(new User(96, 25));
        users.add(new User(95, 24));
        Collections.sort(users);
        for(User user : users){
            System.out.println(user.getScore() + "," + user.getAge());
        }
    }
 
}

執行結果

96,25
95,24
95,26
84,23

到此,關于“Java如何實現ArrayList排序”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郧西县| 香河县| 寿阳县| 新余市| 津市市| 建阳市| 常州市| 涞源县| 墨竹工卡县| 乌鲁木齐市| 元朗区| 铅山县| 沙湾县| 上饶市| 正宁县| 江阴市| 剑川县| 富裕县| 长乐市| 嵩明县| 凌源市| 阜南县| 高唐县| 射洪县| 会宁县| 霍山县| 临汾市| 乌拉特前旗| 邹城市| 浦江县| 阿拉善左旗| 通榆县| 大安市| 和硕县| 株洲县| 江阴市| 安塞县| 松溪县| 临夏县| 泰兴市| 广州市|