首页 文章

通过double对Object的数组进行排序并具有特定的String值

提问于
浏览
0

所以,我有这段代码用于排序对象数组:

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;
    }
}

在主要 class :

Arrays.sort(banding);
for (bensin o : banding) {
    jTextField.setText(Double.toString(o.getHarga()));
}

结果只是排序中的最高数字 . 但我需要的是具有特定字符串值的最高Double值,如:

banding.getJenis().equals("example")

请帮忙,我真的需要这个 . 谢谢

PS . 也许我不够清楚 . 所以我的意思是我正在寻找最高值,但该值不高于用户设置的限制 . 所以字符串我的意思是限制和总计算值之间的比较 . 字符串必须重视“足够”和“溢出”

1 回答

  • 0

    您可以在排序之前或之后过滤数据 .

    List<bensin> examples = Arrays.stream(banding)
        .filter(o -> o.getJenis().equals("example"))
        .sorted(Comparator.comparing(bensin::getHarga))
        .collect(Collectors.toList());
    

相关问题