需要选择最佳数据结构以快速处理位置和区域列表。
位置(城市)有简单的 POJO:
public class Location {
private String name;
private int post; //id
对于地区(地区):
public class Region {
private String name;
private int id;
private List<Location> cities;
最后,我得到了 Region
对象的 List
。
我需要做的:
- 按帖子 (id) 搜索位置名称
- 按名称搜索位置帖子。 注意:名称不是唯一的,因此在名称相同的情况下,我需要优先选择某个具体位置而不是另一个位置
问题是我应该使用什么数据结构? 我正在考虑包含所有区域的所有位置的 TreeMap。所以我可以通过名称(字符串)快速获取位置。 对于 p 1. 我有解决方案: Location 的帖子包含 Region 的 id。因此,如果 Region 的 id=1,则其 Locations post 将为 10001、10002 等。 或者我可能需要选择一些由 Guava 引入的新 Collections 类型,因为它已经存在于项目中?
最佳答案
将所有位置添加到两个 HashMap
:
- 以位置名称为键,以位置列表为值的所有位置。
- 其他以 id 为键,Location 为值的?
最好将两个 HashMap 隐藏在一个类中,为您进行查找。
还是我遗漏了什么?
关于java - 选择哪种数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10470147/