プロジェクトの背景: gdal2tile.pyタイルを使用できるJava用のマップタイルオーバーレイクラスを作成しています。基本的に、「ズームレベル/X座標/Y座標」のようなファイル構造の何千ものjpgファイルになります。座標はintですが、必ずしも0または1で始まるとは限りません。特定の範囲内で、レンダリングする必要があるものを見つけます。
私の問題: ファイル構造自体を使用して反復を試みましたが、遅くなります(驚くことではありません)。ファイル構造と.contains()の文字列のArrayListを使用して反復を試みましたが、さらに遅いようです(それほど驚くことではありません)。最適には、次のようなものを呼び出すことができるように、複数の次元の範囲を選択できるデータ構造を使用したいと思います。
Tiles.getWhere(ズームレベル、最小X、最大X、最小Y、最大Y);
ある種のコレクションまたはTreeMapが正しい選択であると思いますが、Javaの経験が十分ではなく、さまざまなアプローチをベンチマークする必要はありません。
SQLiteを使ってそれを行うこともできますが、それはやり過ぎのようです。
私の質問: 多次元の制約が与えられた場合にデータセットの存在をチェックする最も効率的な方法は何ですか?