【发布时间】:2012-06-07 08:07:36
【问题描述】:
我有如下数据:
Key value
----- ------
car toyota
car bmw
car honda
fruit apple
fruit banana
computer acer
computer asus
computer ibm
...
(以上每一行数据都是一个对象,字段为“key”和“value”,都在一个ListList<DataObject>)
我想将数据构造为Map<String, List<String>>,如下所示:
"car" : ["toyota", "bmw", "honda"]
"fruit" : ["apple","banana"]
"computer" : ["acer","asus","ibm"]
如何从数据对象中实现上述Map结构?
******另外** ****
我更感兴趣的是使用纯 JDK 提供的类或接口来实现结果,而不是使用外部库。有什么帮助吗?
【问题讨论】:
-
您已经解释了它的外观 (
Map<String, List<String>>)。你的意思是如何实现它?另外,这些数据存储在哪里以及以什么格式存储? -
@ adarshr ,由于数据列表具有随机长度(可能有很多这种数据),我需要一种通用的方法来构造 Map 结构..我不知道该怎么做
-
这些数据存储在哪里/如何存储? CSV?数据库? XML? JSON?
-
@adarshr,正如我所提到的,我已经将数据作为列表 List
,每个 DataObject 代表具有“key”和“value”字段的一行 -
您可以使用 Google Guava 集合中的 ListMultimap。 docs.guava-libraries.googlecode.com/git/javadoc/com/google/…
标签: java data-structures multimap multi-mapping