【发布时间】:2012-05-15 06:09:18
【问题描述】:
需要选择最佳数据结构以快速处理位置和区域列表。
位置(城市)有简单的 POJO:
public class Location {
private String name;
private int post; //id
对于地区(区):
public class Region {
private String name;
private int id;
private List<Location> cities;
最后我有 List 的 Region 对象。
我需要做什么:
- 按帖子 (id) 搜索位置名称
- 按名称搜索位置帖子。 注意:名称不是唯一的,所以如果名称相同,我需要选择一些具体的位置而不是另一个位置
问题是我应该使用什么数据结构? 我正在考虑包含来自所有地区的所有位置的 TreeMap。所以我可以通过名称(字符串)快速获取位置。 对于 p 1。我有解决方案:位置的帖子包含区域的 id。因此,如果 Region 的 id=1,则其 Locations 帖子将为 10001、10002 等。 或者也许我需要选择一些由 Guava 引入的新 Collections 类型,因为它已经存在于项目中?
【问题讨论】:
-
你不应该通过 id 链接实体,你应该通过引用直接链接它们,这就是它们的用途。
-
@svick 我需要在这里使用 id 来处理客户端,它只发送和接收 id
标签: java data-structures guava