如何存储连续的数据流,以便您可以访问最常见的值?

Raj*_*Raj 5 java data-structures

股票更新流以证券交易所的股票代码,买/卖对(例如YHOO,300)的形式出现(以非常高的价格).在任何给定的时间点,我们必须始终按交易量显示交易量最大的前5只股票.你如何在内存中保留这些值?

我的想法是使用hashmap(Ticker-> Volume)从feed O(1)更新我们的数据存储区.然后根据卷创建一个Treemap来显示前5个库存O(1).但是,我无法提出的是一种有效的方法来同步Treemap数据,因为hashmap中的值会发生变化(非常频繁).有什么建议?

non*_*ipt 0

我们可以使用堆数据结构,其中根是交易最多的股票。它的子代是交易量第二大的。Root 的孙子将给出第四个和第五个