2016-11-24 122 views
1

所以我試圖爲一個名爲ULS的項目創建自己的數據類型。 ULS基本上是一個100 <大小< 500,000列表,其中包含8位數字(整數)鍵到不同的房子列表。根據Java中傳遞的參數定義數據類型

根據列表的大小,由於每個房屋列表可能因城市而異,因此我試圖根據給定列表的大小實現不同的抽象數據類型。見下:

Algorithm setSmartThresholdULS(Size): 
Input: Integer Size that defines the list size. 
Ouput: Data structure implemented with the given size 

Int Threshold <- 1000 

If Size is smaller than Threshold then 
    setSmartThresholdULS(Size) extends AbstractHashMap<K,V> 

Else if Size is greater than Threshold then 
    setSmartThresholdULS(Size) extends AVLTreeMap<K,V> 

這只是僞代碼,但我怎麼能實現這句法正確?上面的代碼甚至是合法/有效的?

+1

因此,在你的「僞代碼」(這不是一些意外,在Java語法上是正確的),你說'setSmartThresholdULS'是一個「算法」。然而'AbstractHashMap'和'AVLTreeMap'是數據類型的例子。我不明白你的「算法」擴展「數據類型」的定義是否有意義。算法描述行爲和數據類型描述結構。 –

+0

@ErwinBolwidt我基本上想要我的SmartULS(我創建的數據類型)擴展AbstractHashMap或AVLTreeMap取決於給定的大小。如果有幫助 – lesterpierson123

+0

請使用該信息更新您的問題(註釋僅用於討論/澄清,問題應該自行解決) –

回答

0

是的,根據具體情況可以創建不同的數據結構。這通常是在工廠模式下完成的。不,對於較大的數據集使用可擴展性較差的數據結構沒有任何意義。

相關問題