我有两个大型(1000 多个对象)ArrayList,我需要比较和操作它们。我基本上需要从 ArrayList A 中获取一个值,在 ArrayList B 中寻找一个匹配的对象,然后操作 B 中的对象。我需要在 A 的所有对象中执行此操作。我需要在应用程序中经常执行此操作。订单未知,尺寸会有所不同。
(pseudocode)
ArrayList<myObject> A
ArrayList<myObject> B
我可以遍历 B 中的每个项目,为 A 中的每个实体寻找与 A 中的实体匹配的项目。这看起来效率很低。
(pseudocode)
for (each object in A){loop through all of B and find it}
将 B 转换为 HashMap 是否值得(使用我正在比较的特定值作为键,将对象作为值),然后以这种方式搜索 B,然后在完成处理后将该临时 HashMap 转换回 ArrayList ?
(pseudocode)
convert B to HashMap<myObject.myValue,myObject> C
for (each object in A){look up the value in C}
convert C back to an ArrayList
这是一个好主意吗?或者这是过早/不必要的优化?谢谢你。
(背景:数据作为 ArrayList 从服务传给我——前端需要一个 ArrayList 用于视图层。我试图使这个中间层处理更有效率——但入口和出口对象必须是 ArrayList(或一些其他列表))
森林海
相关分类