我的List<Discount>
包含大约100000个折扣值。在这里,折扣是一个类,我有一个List<Product>
,它有大约200000条记录。
我每个都有一个迭代List<Product>
的所有记录。
对于每次迭代产品列表,我从产品项中获取一些值并将其添加到包装类中。这个包装类还包含一个字段折扣,对于每个产品,我必须遍历所有折扣。
迭代这个产品列表存在问题需要花费很多时间。 什么是使这更快的最佳方法?
我在想二元搜索,但我觉得很难实现?
有关如何解决这个问题的任何建议吗?
答案 0 :(得分:4)
如果您需要快速查找折扣值,List
可能是错误的数据结构。考虑使用Dictionary之类的东西,这是专为此目的而设计的。
答案 1 :(得分:3)
除了Heinzi的建议外,我还建议重新审视一下设计/实现,它会迫使你将数十万个对象加载到内存中并相互进行交叉查找 - 也许你应该实现这个数据库级别的逻辑以获得最佳性能。
答案 2 :(得分:1)
您是否考虑使用Dictionary
而不是列表?搜索速度会快得多。