我需要通过" zone"找到元素,这是一个数组:
0: Array[2]
0: Object
busyLinesCount: 4
zone: 7
1: Object
busyLinesCount: 4
zone: 12
1: Array[2]
0: Object
busyLinesCount: 4
zone: 7
1: Object
busyLinesCount: 4
zone: 12
2: Array[2]
0: Object
busyLinesCount: 4
zone: 8
1: Object
busyLinesCount: 4
zone: 13
我认为这只是在循环中搜索更好,但我不是很确定!
我真的很感谢你的帮助!
谢谢!
答案 0 :(得分:2)
如果您只需要找到具有单个区域值的对象,那么当然,您无法做到比单个循环更好的任何事情。
如果您有多个查询,则可以创建一个列表数组,其中table[zone_number]
是区域等于zone_number
的对象列表。然后,对于每个zone_number
,您可以实现查找整个列表的O(1)
复杂度。或者,如果区域编号稀疏和/或它们的值可能很大,您可以创建一个地图(字典)而不是数组,并使用几乎相同的语法实现O(log [number of distinct zones])
复杂性。