项目背景: 我正在为 java 编写一个可以使用 gdal2tile.py 瓦片的地图瓦片覆盖类。基本上,我最终会得到数千个 jpg 文件,它们位于“缩放级别/X 坐标/Y 坐标”之类的文件结构中。坐标是整数,但不一定从 0 或 1 开始。我将不得不搜索在一定范围内找出我需要渲染哪些。
我的问题: 我尝试使用文件结构本身进行迭代,但速度非常慢(不足为奇)。我尝试使用文件结构和 .contains() 字符串的 ArrayList 进行迭代,但它似乎更慢(不太令人惊讶)。理想情况下,我想使用一种数据结构,它可以让我在多个维度上选择一个范围,以便我可以调用类似的东西。
Tiles.getWhere(Zoom Level,min X,max X,min Y,maxY);
我认为某种 Collection 或 TreeMap 将是正确的选择,但我对 Java 的经验不足,无法确定,而且我不想对许多不同的方法进行基准测试。
我可以使用 SQLite 来做到这一点,但这似乎有点矫枉过正。
我的问题: 在给定多维约束的情况下,检查数据集是否存在的最有效方法是什么?