Maison > Java > JavaBase > Java utilise l'expression lambda pour trier un certain attribut de la collection d'objets List

Java utilise l'expression lambda pour trier un certain attribut de la collection d'objets List

王林
Libérer: 2019-12-14 12:00:03
avant
7777 Les gens l'ont consulté

Java utilise l'expression lambda pour trier un certain attribut de la collection d'objets List

Créez ici un nouvel objet UserInfo pour tester le tri des expressions lambda. Les propriétés sont les suivantes :

public class UserInfo {
    private int id;
    private int age;
    private String name;

    public UserInfo(int id, int age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }测试

    public void setName(String name) {
        this.name = name;
    }
Copier après la connexion

 Tutoriels vidéo associés recommandés : Java learning.

Commencez à créer des données et triez-les par ordre positif par âge pendant le test :

 public static void main(String[] args) {
        UserInfo user1 = new UserInfo(1, 20, "赵");
        UserInfo user2 = new UserInfo(2, 25, "钱");
        UserInfo user3 = new UserInfo(3, 23, "孙");
        UserInfo user4 = new UserInfo(7, 16, "李");
        UserInfo user5 = new UserInfo(6, 19, "周");
        UserInfo user6 = new UserInfo(5, 12, "吴");
        List<UserInfo> userInfoList = new ArrayList<>();
        userInfoList.add(user2);
        userInfoList.add(user1);
        userInfoList.add(user3);
        userInfoList.add(user4);
        userInfoList.add(user5);
        userInfoList.add(user6);
        //使用lambda表达式对age大小正序排序
        userInfoList = userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge))
        .collect(Collectors.toList());
        for (UserInfo userInfo : userInfoList) {
            System.out.println(userInfo.toString());
        }
    }
Copier après la connexion

Les résultats de sortie sont les suivants :

Java utilise lexpression lambda pour trier un certain attribut de la collection dobjets List

Le test est trié dans l'ordre inverse par âge :

public static void main(String[] args) {
        UserInfo user1 = new UserInfo(1, 20, "赵");
        UserInfo user2 = new UserInfo(2, 25, "钱");
        UserInfo user3 = new UserInfo(3, 23, "孙");
        UserInfo user4 = new UserInfo(7, 16, "李");
        UserInfo user5 = new UserInfo(6, 19, "周");
        UserInfo user6 = new UserInfo(5, 12, "吴");
        List<UserInfo> userInfoList = new ArrayList<>();
        userInfoList.add(user2);
        userInfoList.add(user1);
        userInfoList.add(user3);
        userInfoList.add(user4);
        userInfoList.add(user5);
        userInfoList.add(user6);
           //使用lambda表达式对age大小倒序排序,发现就是多加了个reversed()方法
        userInfoList = userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge).
        reversed()).collect(Collectors.toList());
        for (UserInfo userInfo : userInfoList) {
            System.out.println(userInfo.toString());
        }
    }
Copier après la connexion

Les résultats de sortie sont les suivants :

Java utilise lexpression lambda pour trier un certain attribut de la collection dobjets List

Pour résumer la méthode de tri :

1. Trier selon un certain champ dans un ordre positif :

userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge)).collect(Collectors.toList());
Copier après la connexion

2 Trier dans l'ordre inverse selon un certain champ :

userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge).reversed()).collect(Collectors.toList());
Copier après la connexion

Vous pouvez simplement sélectionner les paramètres ci-dessus en fonction de votre. entreprise.

Articles et tutoriels connexes recommandés : Commencer à apprendre Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal