プレフィックスによるプロパティファイルからプロパティを読み取るのに最も効率的な(時間複雑性の点で)ソリューションは何ですか?例えば接頭辞によってプロパティファイルからプロパティを読み取る最も効率的なソリューションは何ですか?
プロパティファイルは次のようになります場合は、 -
prefix1.prop1=val1
prefix1.prop2=val2
prefix2.prop3=val3
prefix2.prop4=val4
私はこのように呼ばれる方法を探しています - getPropertiesByPrefix("prefix1")
次のリストを返す必要があります。
["prefix1.prop1", "prefix1.prop2"]
をI 2つのオプションを見ることができます -
getPropertiesByPrefix
に電話するときは、 1つずつつなぎ、接頭辞で始まる小道具を手に入れます。- プロパティを一度読み取り、トライを作成してから、
getPropertiesByPrefix
がトライを使用します。
第2のオプションは、より効率的な方法と思われます。これらの既存の実装/サードパーティライブラリがありますか?または3番目のオプション?
プロパティファイルの容量はどれくらいですか?私はアルゴリズム的なパフォーマンスが少しでも問題になる場所は見たことがありません。それが非常に大きいとき、ディスクからの読み込みのI/Oパフォーマンスが非常に悪く、あらゆる種類のひどい(リストのような)データ構造が勝つ可能性が高いです。あなたが十分な記憶力を持っている限り、少なくとも。シンプルな 'TreeMap'はbtwでもメモリ内の記憶が素早く動作するはずです – zapl
数字は私が想定している100秒になります。私はすべての単一の要求にプレフィックスでアクセスしているということです。だから、O(n)ルックアップを持っているのは高価なようだ。 – sunnyside
プロパティファイルの読み込みと読み込みは、すでにそこにあります。ですから、私はutil.Propertiesオブジェクトで作業する必要があります。 – sunnyside