【发布时间】:2015-03-07 19:11:54
【问题描述】:
我在一个文本文件中有以下信息。
物品价格 铅笔 2 橡皮擦 1 激光 3 铅笔 1 火炬 4 橡皮擦 1
具体来说,我想知道上面列表中的任何项目是否有不同的价格。 例如:在上面的一个中,您可以看到铅笔有 2 个速率,即 2 和 1。 两个条目中橡皮擦的价格相同,所以没问题。 进一步的复杂性 - 文本文件非常庞大。
由于字典不允许我们存储重复的键,请提出解决此问题的方法以及适当的数据结构。
【问题讨论】:
标签: logic
我在一个文本文件中有以下信息。
物品价格 铅笔 2 橡皮擦 1 激光 3 铅笔 1 火炬 4 橡皮擦 1
具体来说,我想知道上面列表中的任何项目是否有不同的价格。 例如:在上面的一个中,您可以看到铅笔有 2 个速率,即 2 和 1。 两个条目中橡皮擦的价格相同,所以没问题。 进一步的复杂性 - 文本文件非常庞大。
由于字典不允许我们存储重复的键,请提出解决此问题的方法以及适当的数据结构。
【问题讨论】:
标签: logic
您可以使用带有单独链接方法的哈希表。希望它会起作用
【讨论】:
文件必须是纯文本吗?我建议通过使用 XML 格式并使用 SAX(不是 DOM !)解析它来解决这个问题。 SAX 不会将整个文件加载到内存中,因此它适用于大文件。
至于数据结构,您始终可以定义自己的数据结构,也可以使用类似Map<KeyType, List<ValueType>> 的东西。我觉得为相同的产品名称映射不同的价格是违反直觉的。您可以为每种类型的产品创建一个唯一 ID,并拥有一个新字段:数量。
【讨论】: