我有这样的对象列表:“查询” 列表
ArrayList<Phone> list = new ArrayList();
list.add(new Phone("+44 20 8765 4321", "mobile", "26"));
list.add(new Phone("+44 20 8765 4322", "home", "23"));
list.add(new Phone("+44 20 8765 4323", "mobile", "27"));
list.add(new Phone("+44 20 8765 4324", "work", "26"));
list.add(new Phone("+44 20 8765 4325", "home", "27"));
list.add(new Phone("+44 20 8765 4326", "home", "26"));
(23,26,27是ID接触的的)。如何“查询”此列表以获取具有多个电话号码{"26", "27"}
的联系人的ID?
我需要最佳的解决方案,不会将很多小对象存储到内存中(我糟糕的实现会导致GC频繁运行,长时间冻结手机)。
一般来说,你没有。在这种情况下,我建议使用'Map>'作为您的数据结构,或者使用后备数据存储来存储具有适当关系的信息。 –
aroth
@ zorglub76:“..有多个电话号码的联系人..”我有一个移动电话但没有固定电话(没有电话@“家”)。所以你的逻辑是错误的。 –
你可以显示,电话类的代码?或者只是讲述Phone类的数据字段的名称。 –