当前位置: 首页 > 面试题库 >

从Java对象计数值?

周玺
2023-03-14
问题内容

我有一个用于存储项目的Java对象:

public class PaymentDetailsItem
{
    private String name;
    private String amount;
    private int quantity;
    private String currencyID;

    public PaymentDetailsItem(String name, String amount, int quantity, String currencyID){
        this.name = name;
        this.amount = amount;
        this.quantity = quantity;
        this.currencyID = currencyID;
    }

    ............
}

我使用一个列表来存储几个对象。如何将每个对象存储区中的总数汇总到列表中?


问题答案:

您可以利用Java 8 Stream API并实现如下所示的内容:

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<PaymentDetailsItem> payments = new ArrayList<>();
    payments.add(payment);
    payments.add(payment2);

    List<String> 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());
}

记住要为amount属性实现getter。



 类似资料:
  • 问题内容: 下面的代码将控制台日志打印到页面上。它记录来自服务器的获取和响应,例如: 与其将这些内容显示在页面上,我不希望计算每个响应和请求,因此您会看到一个从1开始到结束为止的数字,可以是任何数字。这是为了向用户显示正在发生的事情,而没有向他们显示所有响应并获取数据。 和html: 问题答案: 如果您只想覆盖以打印响应计数,则应该这样做,但这将增加任何呼叫的计数。 如果您希望依靠响应而不是所有控

  • readOperationCount Number - I/O读取操作的数量 writeOperationCount Number - I/O写入操作的数量. otherOperationCount Number - 其他I/O操作的数量. readTransferCount Number - I/O读取传送的数量. writeTransferCount Number - I/O写入传送的数量.

  • 问题内容: 我在BIDS 2008中使用SSIS,并且试图获取包含文件列表的对象变量的计数。关于如何执行此操作的任何想法? 谢谢! 问题答案: 您如何填充此对象变量?根据填充变量的方式,可以列出更有效的计数方法。但是,这是为您提供的快速而肮脏的解决方案: 创建一个新的整数类型的变量,并将变量初始化为0 使用foreach循环任务来遍历您的对象(打开foreach循环编辑器,转到并将Enumerat

  • 问题内容: 我在BIDS 2008中使用SSIS,并且试图获取 包含文件列表的对象变量的计数。关于如何执行此操作的任何想法? Thanks! 问题答案: 您如何填充此对象变量?根据填充 变量的方式,可以列出更有效的计数方法。但是,这 是为您提供的快速而肮脏的解决方案: 创建一个新的整数类型的变量,并将变量初始化为0 使用foreach循环任务来遍历您的对象(打开foreach循环编辑器,转到并将更

  • 问题内容: 我想记录一个对象占用一个项目的内存量(以字节为单位)(我正在比较数据结构的大小),并且似乎没有方法可以在Java中完成。据说C / C ++有方法,但这在Java中不存在。我尝试在创建对象之前和之后记录JVM中的可用内存,然后记录差异,但是无论结构中元素的数量如何,它只会给出0或131304,并且两者之间什么都没有。请帮助! 问题答案: 你可以使用该软件包: http://docs.o

  • 初学者问题:我有一个hashmap,它将整数数组存储为值。每个值的键是一个由两个整数(坐标)组成的对象。 我的问题是:如何根据对象中的两个坐标(我的“键”)从hashmap检索值? 我的协和类(在Eclipse的一点帮助下): 构建Hashmap: 如果我想访问坐标12,13上的数组,如何检索它?是否需要迭代(我希望不是,我想添加100000个坐标,当然要快速访问)。 我希望这能在某种程度上符合