【发布时间】:2021-03-27 21:23:36
【问题描述】:
我有一个DataModel pojo 类的列表。 percentage 字段为String 格式:
public class DataModel implements Serializable {
private String percentage;
public String getPercentage() {
return this.percentage;
}
public void setPercentage(String percentage) {
this.percentage = percentage;
}
}
数据样本:
List<DataModel> list = new ArrayList();
DataModel d1 = new DataModel();
d1.setPercentage("20.34%");
DataModel d2 = new DataModel();
d2.setPercentage("30.04%");
DataModel d3 = new DataModel();
d3.setPercentage("10.34%");
DataModel d4 = new DataModel();
d4.setPercentage("0.34%");
list.add(d1);
list.add(d2);
list.add(d3);
list.add(d4);
我可以按以下相反的顺序对列表进行排序:
list = list.sort(comparing(r ->
Double.parseDouble(
r.getPercentage().substring(0, r.getPercentage().length() - 1)),
Comparator.reverseOrder()));
List<DataModel> fullList = new ArrayList();
List<DataModel> lessList = new ArrayList();
我需要将上面的列表填写如下:
fullList ---> percentage > 1 (20.04%,20.34%,10.34%)
lessList ---> percentage < 1 (0.34%)
【问题讨论】:
标签: java string list lambda java-8