【问题标题】:How would I use HashTable or HashMap to count?我将如何使用 HashTable 或 HashMap 来计数?
【发布时间】:2015-09-28 22:06:48
【问题描述】:

例如,给定数据

Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 100
Name: 1234, Qty: 200
Name: 1234, Qty: 200

期望是:

Name: 1234, Qty: 700

【问题讨论】:

  • 同一个键可以有多个值吗?
  • @AndrewT。这不可能。地图将更新为最新值。
  • @TonyD 我承认错误并为此道歉。

标签: hashmap hashtable


【解决方案1】:

基本思想是在哈希表中反复查找特定名称的累积和,并将下一个值添加到其中。在伪代码中:

for name, qty in input
    hashtable[name] += qty

根据您的语言,您可能必须明确检查“名称”是否存在现有哈希表条目,并使用初始“​​数量”值创建一个。

【讨论】:

  • 这是迄今为止最好的方法。
【解决方案2】:

在 HashMap 中,一个键只能与一个值关联,因此您需要使用 HashMap<Integer, List<Integer>>MultiMap 来实现这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2015-01-03
    • 2012-03-21
    • 2020-07-17
    • 2016-07-07
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多