因此,我有一段用于对对象数组进行排序的代码:
bensin[] banding=new bensin[7];
for (int i = 0; i < output.length; i++) {
banding[i] = new bensin(output[i].getJenis(),
output[i].getKetTotal(),
output[i].getHarga(),
output[i].getKapTotal(),
output[i].getMax());
}
@Override
public int compareTo(bensin o) {
if (this.harga < o.harga) {
return -1;
} else if (this.harga == o.harga) {
return 0;
} else {
return 1;
}
}在主类中:
Arrays.sort(banding);
for (bensin o : banding) {
jTextField.setText(Double.toString(o.getHarga()));
}并且结果只是排序中最高的一个数字。但我需要的是最高的双精度值,它有特定的字符串值,比如:
banding.getJenis().equals("example")请帮帮忙,我真的需要这个。谢谢
PS。也许我说得不够清楚。所以我的意思是,我在寻找最高的值,但是这个值不会高于用户设置的限制。所以我所说的字符串是极限和总计算值之间的比较。字符串必须取值为“足够”和“溢出”
发布于 2018-12-10 03:04:45
您可以在排序之前或之后对数据进行筛选。
List<bensin> examples = Arrays.stream(banding)
.filter(o -> o.getJenis().equals("example"))
.sorted(Comparator.comparing(bensin::getHarga))
.collect(Collectors.toList());https://stackoverflow.com/questions/53695587
复制相似问题