gpt4 book ai didi

java - 使用现有 ArrayList 的 HashSet 计算出的总数创建新集合

转载 作者:行者123 更新时间:2023-12-01 18:16:06 24 4
gpt4 key购买 nike

我正在努力解决以下问题:

我正在构建一个订单系统。我有一个 ArrayList“销售”,该列表包含一些变量和一个哈希集,其中包含作为订单的一部分出售的商品。有一个 Part 类,其中包含零件名称 (getName) 和零件价格 (getPrice) 的 getter。

“sales”ArrayList 包含:(int orderNumber, LocalDate date, OrderItem orderItem)

看起来像这样:

订单:1,日期:2020-02-23,商品:[部分:显示器,数量:3,部分:CPU,数量:2]

订单:2,日期:2020-02-23,商品:[零件:耳机,数量:1,零件:保护壳,数量:1]

订单:3,日期:2020-02-23,商品:[零件:CPU,数量:10,零件:键盘,数量:10]

每个订单项包含:(零件部分,整数数量)。 Part 类包含(String partName,双倍价格)

我想要做的是创建一个新的集合,列出一天售出的零件总数,如下所示:

监视器3

CPU 12

耳机1

案例1

键盘10

我该怎么做?

最佳答案

我尝试使用 HashMap<String, Integer> 为您写一些东西,其中将包含您的零件及其当天相应销售数量的键值对列表。

希望有帮助:

public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
for (Orderitem item: listOfOrderItems) { // here you need to get a list of your ordered items for the day
Part part = item.getPart(); // here you need some form of a getter to access the given part from the given Orderitem
String partName = part.getName();
if (!map.containsKey(partName)) {
map.put(partName, item.getQuantity());
} else {
map.put(partName, map.get(partName) + item.getQuantity());
}
}
}

关于java - 使用现有 ArrayList 的 HashSet 计算出的总数创建新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60365284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com