Stream 根據集合內的對象某個屬性值進行排序



import com.alibaba.fastjson.JSON;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

/**
* stream 流根據集合的某個字段屬性進行排序
*/

public class streamDemo01 {

public static void main(String[] args) {
List<User> users = Arrays.asList(
new User(101, "Jack"),
new User(102, "Kreas"),
new User(103, "Marry"),
new User(104, "Timi"),
new User(105, "Alice"));

//自然序
List<User> collect = users.stream().sorted(Comparator.comparing(User::getId)).collect(Collectors.toList());

//倒序
List<User> collect1 = users.stream().sorted(Comparator.comparing(User::getId).reversed()).collect(Collectors.toList());

System.out.println(JSON.toJSONString(collect));
System.out.println(JSON.toJSONString(collect1));

}
}

輸出結果:

[{"id":101,"name":"Jack"},{"id":102,"name":"Kreas"},{"id":103,"name":"Marry"},{"id":104,"name":"Timi"},{"id":105,"name":"Alice"}]
[{"id":105,"name":"Alice"},{"id":104,"name":"Timi"},{"id":103,"name":"Marry"},{"id":102,"name":"Kreas"},{"id":101,"name":"Jack"}]


@Data
public class User {
// 用戶ID
private long id;

// 用戶名稱
private String name;

public User(long id, String name) {
this.id = id;
this.name = name;
}
}




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM