我正在编写一个程序来分析一些电子表格数据。有两列:开始时间和持续时间(两个变量都是双打)。电子表格未排序。我需要按开始时间对列进行排序(也就是说,持续时间必须保持匹配的开始时间)。有几千行,并且会定期进行分析,因此我不想在添加更多数据时反复对整个集合进行排序。
使用开始时间作为键和持续时间的树形图,因为它会在读入时将信息插入到正确的位置,并且将两个数据保持在一起。
它确实对我90%的数据都有效。不幸的是,我今晚意识到有时2个事件将有相同的开始时间。由于Treemap没有保留重复的密钥,因此当新数据覆盖旧数据时,我会丢失一行。
有很多关于此的帖子(请参阅this和this以及this),我看到有两条建议不断出现:
第一个建议对我来说最容易实现,但我读到的评论认为这违反了Treemap的合同,并不是一个好主意。第二个建议可以完成,但会使分析变得更复杂,因为我必须在遍历键时迭代列表,而不是简单地遍历键。
我需要的是一种将两个列表排在一起并允许重复输入的方法。我希望有人可以建议最好的方法来做到这一点。非常感谢你的帮助。