Heim > Java > JavaBase > Java verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren

Java verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren

王林
Freigeben: 2019-12-14 12:00:03
nach vorne
7768 Leute haben es durchsucht

Java verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren

Erstellen Sie hier ein neues UserInfo-Objekt, um die Lambda-Ausdrucksortierung zu testen. Die Eigenschaften lauten wie folgt:

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;
    }
Nach dem Login kopieren

Empfohlene verwandte Video-Tutorials: Java-Lernen

Beginnen Sie mit der Datenerstellung und sortieren Sie sie während des Tests in positiver Reihenfolge nach Alter:

 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());
        }
    }
Nach dem Login kopieren

Die Ausgabeergebnisse lauten wie folgt:

Java verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren

Der Test wird in umgekehrter Reihenfolge nach Alter sortiert:

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());
        }
    }
Nach dem Login kopieren

Die Ausgabeergebnisse lauten wie folgt:

Java verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren

Um die Sortiermethode zusammenzufassen:

1. Sortieren Sie nach einem bestimmten Feld in positiver Reihenfolge:

userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge)).collect(Collectors.toList());
Nach dem Login kopieren

2. Sortieren Sie in umgekehrter Reihenfolge nach einem bestimmten Feld:

userInfoList.stream().sorted(Comparator.comparing(UserInfo::getAge).reversed()).collect(Collectors.toList());
Nach dem Login kopieren

Sie können einfach die oben genannten Parameter entsprechend Ihren Anforderungen auswählen Geschäft.

Empfohlene verwandte Artikel und Tutorials: Erste Schritte beim Erlernen von Java

Das obige ist der detaillierte Inhalt vonJava verwendet den Lambda-Ausdruck, um ein bestimmtes Attribut der List-Objektsammlung zu sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage