2015-09-27 57 views
0

對於一個家庭作業,其表述爲:創建一個通用的HashMap陣列

在本次作業中,您將實現一個鍵值哈希映射一個外部鏈接衝突的政策。一個 哈希映射將鍵映射到值,並允許O(1)鍵知道時的值的平均情況查找。 該哈希映射必須由初始大小爲11的數組支持,並且當表的數值超過(大於,不大於或等於)0.67的負載因數時,必須具有2n + 1的大小。新數組之前必須調整數組大小 (無論它是否重複)實際上已添加到數組中。加載因子和初始大小值在界面中作爲常量提供,並應在您的代碼中使用 。

我們給了一個已經寫好的MapEntry類,並且寫了一個HashMap類。我將如何初始化這個數組?由於仿製藥的情況,private MapEntry<K, V>[] table = new MapEntry<>[STARTING_SIZE];不起作用。

+0

數組或hashmap,它是哪一個?它們不是一樣的 –

+0

@TimCastelijns一個由數組支持的HashMap,我們不能使用Java Object –

+0

@laune,您將實現具有外部鏈接衝突策略的鍵值哈希映射。 該哈希映射必須由初始大小爲11的數組支持,並且當表的數值超過(大於,不大於或等於)0.67的負載因數時,必須具有2n + 1的大小。新數組之前必須調整數組大小 (無論它是否重複)實際上已添加到數組中。加載因子和初始大小值在界面中作爲常量提供,並應在您的代碼中使用 。 –

回答

1

您在數組構造省略通用參數:

Map.Entry<String,Integer>[] entries = new Map.Entry[11]; 

如果警告困擾你,你可以使用註解@SuppressWarnings("unchecked")

+0

好吧,即使它給出了一個Unchecked賦值警告,它仍然會很好? –

+0

@newacct糟糕。即時停電。謝謝。 – laune