我有這樣的對象列表:「查詢」 列表
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類的數據字段的名稱。 –