【发布时间】:2021-07-03 07:58:32
【问题描述】:
我正在处理一项 Java 作业,其中我得到了一些如下所示的原始数据
Date Name Sale Discount Product
2021-02-01 LV 143 14 P1
2021-02-18 PS 473 25 P2
2021-02-01 LV 65 5 P3
2021-02-22 XB 143 14 P1
2021-02-27 PS 143 14 P1
2021-03-03 LV 263 46 P3
2021-03-16 XB 765 38 P2
我需要跟踪每月的销售和提供的折扣,还需要跟踪每个售出的第三个 P1 产品,需要对每个月的第三个 P1 交易应用一些逻辑。使用 Java 实现上述目标的最佳方法是什么?
我正在考虑使用以年和月为键的 HashMap(例如:-202103、202102)并创建一个包含所需数据的对象。请让我知道该方法是否可行或可以以更好的方式实施。
【问题讨论】:
-
您将此标记为“性能”,但这通常应该是您在此类作业中最不关心的问题。首先让它干净且可用,并且当且仅当您发现它太慢(这对于这些类型的数据集来说不太可能),您才能努力优化它。是的,我知道您可能想“了解性能”,但干净且可读的代码更为重要。您没有告诉的是您如何获取该数据。你说你需要“跟踪”它。这是什么意思?
-
嗨@JoachimSauer,感谢您的意见,我想找到最好的解决方案,这就是我使用性能标签的原因。通过跟踪,我指的是每月审计数据,例如特定月份提供的销售额和折扣。我希望它能回答你的问题,如果我需要任何进一步的信息,请告诉我。
-
不要专注于“最好的可能”,这是一个不可能实现的目标,而且定义也非常模糊。什么是最好的?使用最少的内存?最少的 CPU 时间?最有反应?最漂亮的用户界面?最流行的实现?最简陋的微服务架构?还是完全可测试的?对于所有可能的方式来判断“最佳”,几乎没有“可能的最佳”,总会有妥协。
-
罗杰,@JoachimSauer,我知道总会有一些妥协,这里的最佳解决方案是指除了我正在推进的解决方案(这里是 HashMap)之外,是否还有更好的解决方案。跨度>
标签: java performance date