java学习笔记——HashMap的泛型容器

 因为想做一个古堡探险的文字类游戏,于是今天做了一个Creature的基类,和一个Xutaige类和一个Monster类的子类。其中在做战士类的时候需要用weapon来增加战士的伤害值,于是就考虑用HashMap来表示多个武器。选择HashMap的原因是因为一个武器对应一个伤害值(当然现在还做不了带特效的武器,比如带有中毒效果,烧伤效果,冰冻效果,眩晕效果),用HashMap可以很好的完成这一点。下面把weapon的一些代码粘上来。
private HashMap<String,Integer> weapon = new HashMap<String,Integer>();

public void setWeapon(String name,int attackValue) {
		weapon.put(name, attackValue);
	}
	
	public void getWeapon(String name) {
		Attack = Attack + weapon.get(name);
	}
	
	public void showWeapon() {
		for( String name :weapon.keySet()) {
		System.out.println("武器:"+name+" 伤害:"+weapon.get(name));
		}
	}
	
	public void showDesc() {
		System.out.println(name+":"+"Blood:"+getBlood()+" "+"Attack:"+getAttack()
		+" Defense:"+getDefense()+" Gold:"+getGold()+" Level:"+getLevel());
		showWeapon();
	}

可以看到用HashMap做了一个武器,这样的话就可以重复的设置武器的信息,现在做的有一些简陋,只是自己设置武器的属性,而不是在商人的地方购买,在将来可以在用一个列表来储存武器的信息,这样就可以实现购买的功能了。用HashMap做武器用到了以下的函数。


put(object,object),在构造的时候也是使用两个对象,不可以用基本的数据类型。put函数就是把一组信息放在HashMap中。

setKey(),是返回所有的键值,通过foreach循环就可以把String类型给返回出来(这里String是Key)。如果想返回所有的值可以通过values()来实现


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值