0
点赞
收藏
分享

微信扫一扫

java中的list<entity>按降序排序

圣杰 2022-08-15 阅读 64


习惯了C#中的LINQ,在java中感到很不方便。要将一个实体数组(即元素为实体的数组)List进行排序,要怎么写呢?代码长的可笑:

实体类

public class Menu {

private int id;
private String name;
private String title;
private String url;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

假设现在有一个List

menus,想按照id的降序进行排序,要怎么写呢?

menus = menus
.stream()
.sorted(Comparator.comparing(Menu::getId).reversed())
.collect(Collectors.toList());

再看看C#

menus = menus.OrderByDescending(s => s.Id).ToList();

随着C#也能跨平台,是不是.NET的春天快到了?

2019.08.17
排序的时候,如果排序字段内容是数值,但字段类型是字符串,那么应该先转换成数值再比较,否则结果不准确。如何转换呢,可以这样写:

.sorted(Comparator.comparing(s -> Long.parseLong(s.getT())))


举报

相关推荐

0 条评论