Count values from Java Object?

后端 未结 1 1525
执念已碎
执念已碎 2021-01-29 16:41

I have this Java object which is used to store item:

public class PaymentDetailsItem
{
    private String name;
    private String amount;
    private int quanti         


        
1条回答
  •  抹茶落季
    2021-01-29 17:27

    You could make use of Java 8 Stream API and implement something like this:

    public static void main(String[] args) {
        PaymentDetailsItem payment = new PaymentDetailsItem("test", "100.00", 10, "1");
        PaymentDetailsItem payment2 = new PaymentDetailsItem("test number 2", "250.00", 10, "2");
    
        List payments = new ArrayList<>();
        payments.add(payment);
        payments.add(payment2);
    
        List amounts = payments.stream().map(PaymentDetailsItem::getAmount).collect(Collectors.toList());
        System.out.println("Here we have the extracted List of amounts: " + amounts);
    
        String totalAmount = amounts.stream()
                .reduce((amount1, amount2) -> String.valueOf(Float.valueOf(amount1) + Float.valueOf(amount2))).get();
        System.out.println("Total amount obtained by using .reduce() upon the List of amounts: " + totalAmount);
    
        System.out.println("Or you can do everything at once: " + payments.stream().map(PaymentDetailsItem::getAmount)
                .reduce((amount1, amount2) -> String.valueOf(Float.valueOf(amount1) + Float.valueOf(amount2))).get());
    }
    

    Remember to implement the getter for the amount attribute.

    0 讨论(0)
提交回复
热议问题