前提:
假设有 objectX,objectY 两个对象,这两个对象通过其自身属性唯一的 ID 可关联到。
现在 objectX 存在于集合 A 中,objectY 存在于集合 B 中,A、B 的 size 都是百万级别。
操作步骤:
step1:对 A 进行遍历
step2:如果 A 中 objectX 的 ID 在 B 集合中可以找到对应的 objectY
step3:把 objectX、objectY 合并成一个新的 objectZ 放入到集合 C 中
疑问:
一.百万级别的数据这样操作是否合适?
二.step1 步骤避免不了,step2 中定位到 objectY 有没有什么好的思路(考虑性能、速度)?
目前是把集合 B 转换成了 k-v 形式,key 放 ID,用 API 提供的 contains 去判断是否存在。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/451481
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.