因為想做乙個古堡探險的文字類遊戲,於是今天做了乙個creature的基類,和乙個xutaige類和乙個monster類的子類。其中在做戰士類的時候需要用weapon來增加戰士的傷害值,於是就考慮用hashmap來表示多個**。選擇hashmap的原因是因為乙個**對應乙個傷害值(當然現在還做不了帶特效的**,比如帶有中毒效果,燒傷效果,冰凍效果,眩暈效果),用hashmap可以很好的完成這一點。下面把weapon的一些**粘上來。
private hashmapweapon = new hashmap();
public void setweapon(string name,int attackvalue)
public void getweapon(string name)
public void showweapon() }
public void showdesc()
可以看到用hashmap做了乙個**,這樣的話就可以重複的設定**的資訊,現在做的有一些簡陋,只是自己設定**的屬性,而不是在商人的地方購買,在將來可以在用乙個列表來儲存**的資訊,這樣就可以實現購買的功能了。用hashmap做**用到了以下的函式。
put(object,object),在構造的時候也是使用兩個物件,不可以用基本的資料型別。put函式就是把一組資訊放在hashmap中。
setkey(),是返回所有的鍵值,通過foreach迴圈就可以把string型別給返回出來(這裡string是key)。如果想返回所有的值可以通過values()來實現
java 集合學習之hashMap
1 hashmap類繼承關係 public class hashmapextends abstractmap implements map,cloneable,serializable 存放示意圖 由此可以看出hash值一樣的節點會被存放在同一條鍊錶上,比原始遍歷equals查詢效率高 hash值相...
HashMap的學習筆記
static class entry implements map.entry public hashmap int initialcapacity,float loadfactor final entrygetentry object key 通過key的hashcode值計算hash值 int ...
學習 HashMap 原理筆記
感謝 學習了,寫寫筆記。雜湊表。雜湊表利用陣列根據下標查詢元素,一次定位就可以找到,複雜度為o 1 可以理解,雜湊表的主幹是陣列,通過某個函式把當前元素的關鍵字對映到陣列中的某個位置上,通過下標就可以完成定位。雜湊衝突 插入的時候,用雜湊函式算出來的對映下標插入元素的時候,發現該位置已經被占用。ha...