簡體   English   中英

通過前綴從屬性文件讀取屬性的最有效解決方案是什么?

[英]What is the most efficient solution for reading properties from a properties file by prefix?

通過前綴從屬性文件中讀取屬性的最有效(就時間復雜度而言)解決方案是什么?

例如,如果屬性文件如下所示-

prefix1.prop1=val1
prefix1.prop2=val2
prefix2.prop3=val3
prefix2.prop4=val4

我正在尋找一種方法,當這樣調用時getPropertiesByPrefix("prefix1")應該返回以下列表:

["prefix1.prop1", "prefix1.prop2"]

我可以看到2個選項-

  1. 在每個getPropertiesByPrefix調用上,一一讀取所有屬性,並獲取以prefix開頭的道具。
  2. 讀取屬性一次並構建一個Trie,然后getPropertiesByPrefix使用Trie。

第二個選項似乎是更有效的方法。 是否有任何現有的實現/第三方庫? 還是第三個選擇?

分析很簡單。

假設您具有n個鍵的properties ,那么執行key.startsWith(prefix)的循環將在O(m*n)時間中運行,m是前綴的大小。

另一方面,如果構建Trie ,則可以將O(m)減小,這顯然更好。

Apache Commons有一些實現,盡管如果n很小,那么我真的不會打擾並且避免增加代碼的復雜性並進行簡單的循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM