首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在此场景中使用DataStructure

在此场景中使用DataStructure
EN

Stack Overflow用户
提问于 2011-04-07 23:06:23
回答 4查看 221关注 0票数 0

我有以下形式的数据-

代码语言:javascript
复制
01/04/2011  - {00:00,1.0} ; {01:00,2.0} ; {02:00,1.5} ;{04:00,2.3} 
02/04/2011  - {00:00,2.0} ; {01:00,2.1} ; {02:00,1.5} ;{04:00,2.3}
03/04/2011  - {00:00,3.0} ; {01:00,2.0} ; {02:00,1.6} ;{04:00,2.3}
04/04/2011  - {00:00,1.0} ; {01:00,2.5} ; {02:00,1.57} ;{04:00,2.3}
05/04/2011  - {00:00,1.9} ; {01:00,2.7} ; {02:00,1.5} ;{04:00,2.3}
06/04/2011  - {00:00,1.08} ; {01:00,2.02} ; {02:00,1.9} ;{04:00,2.3}
07/04/2011  - {00:00,1.7} ; {01:00,2.0} ; {02:00,1.10} ;{04:00,2.3}

我必须将它们存储在一些DataStructure中,以便我可以使用日期作为特定日期的key.Also来访问它们,{k,v}对应该以插入的方式排序。

请建议在此场景中使用哪种DataStructure,并说明应该使用它的原因。提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-07 23:10:28

在我看来像是MultiMap

代码语言:javascript
复制
MultiMap<Date, SomeRecord> records = ArrayListMultiMap.create();
records.put(..., ...);
票数 1
EN

Stack Overflow用户

发布于 2011-04-07 23:08:49

对我来说,听起来就像是Map<Date,List<Record>>。如果使用HashMap,那么查找给定日期将是O(1)操作。使用这种方法没有特殊的排序。

或者,您可以使用LinkedHashMap,然后可以保留排序,如果您需要按日期顺序查看记录,这可能会很有用。

票数 5
EN

Stack Overflow用户

发布于 2011-04-07 23:13:14

从您的示例数据可以看出,每个日期的值只是每个小时的数字集合。因此,如果每个数字只有一个日期和时间,则可以简单地使用Map<Date, Float>。例如,"01/04/2011 00:00“是"1.0”,"01/04/2011 01:00“是"2.0”。您可以使用TreeMap<Date, Float>保持它们的顺序,并使用subMap()方法仅提取所需的日期范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5583282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档