Java:如何在数组中找到价格最小的所有对象,并在Check类中使用toString方法打印它?

时间:2016-04-26 17:37:15

标签: java arrays

buffer.toString()

我想说:

checkArray[i] = new Check(checkNumber, payee, amount); // Filled Check object

因此,检查对象数组中checkArray[i] = new Check(777, Employee1, 8); checkArray[i] = new Check(88, Employee2, 8); checkArray[i] = new Check(99, Employee3, 90); Employee1的最小数量为Employee2

如何使用Check类中的toString方法打印所有那些具有相同最小金额但具有不同名称和支票号的支票?

1 个答案:

答案 0 :(得分:1)

循环通过它们。将最小值保存到变量中,然后将其缩小。如果您发现另一个具有相同值的实例,请保存它,否则如果您找到新的最小值,请清空List并使用新的最小值存储它们。

我假设您有getter getAmount()返回amount

List<Check> list = new ArrayList<>();
int min = checkArray[0].getAmount();

for (int i=0; i<checkArray.length; i++) {
    if (checkArray[i].getAmount() < min) {
        min = checkArray[i].getAmount();
        list.clear();
        list.add(checkArray[i]);
    } else if (checkArray[i].getAmount() == min) {
        list.add(checkArray[i]);
    }
}

打印出来:

System.out.println(list);