2012-10-03 38 views
0

這是我的情況。我有一張含有以下數據的表格。需要字符串搜索設計建議

Property_name Property_value 
-------------------------------------- 
prob_name_1 ,[email protected],[email protected], 
prob_name_2 ,[email protected],[email protected], 
prob_name_3 ,[email protected],[email protected], 
.    . 
.    . 
.    . 
prob_name_n ,[email protected],[email protected], 

該表中可以有很多行,並且電子郵件將以逗號分隔存儲。 Property_value將保持數據更新其最大值(2k)。我在最後一個屬性中沒有「n」,我需要查找是否需要。

我的查詢是, 我需要在此數據中搜索電子郵件。由於我們使用memcache工具來緩存這些數據(它存儲在Hashtable<String, String>中),因此我們不使用查詢。我幾乎沒有想法。請給我一個更好的建議。

  1. HashMap - property_name和屬性值的密鑰對值。迭代它並檢查值直到找到它。
  2. 迭代所有行並搜索直到找到它。
+1

你只需要在地圖的值中證明給定電子郵件地址的存在?或者你需要知道它的關鍵?地圖中近似有多少條目? –

回答

2

由於電子郵件地址不是數字式可訂購的,因此您的第二個選項將是要走的路。如果你所說的是你需要找到property_name給定的property_value,那就是。

如果您的列表以任何方式可訂購,則可以使用二分查找方法。但是,訂購電子郵件地址的唯一方法是按字母順序排列,我認爲這需要更長的時間。

+0

是的,這是簡單的方法 – Vaandu