永发信息网

Java hashtable.remove()

答案:2  悬赏:0  手机版
解决时间 2021-02-19 20:39
  • 提问者网友:孤凫
  • 2021-02-18 21:35
public void buy(Integer id, String type) { if ("buy".equals(type)) { if (hashtable.containsKey(id)) { ShopItem item = (ShopItem) hashtable.get(id); item.increment(); } else { Food food = foodBiz.getFoodById(id); ShopItem item = new ShopItem(food); hashtable.put(id, item); } System.out.println("" + hashtable.size()); } else { System.out.println("buy" + hashtable.size()); hashtable.remove(id); System.out.println(hashtable.size()); } } 删除不了 hashtable里的对应id 的数据 由于我不知道你完整的程序是什么,所以没办法说你为什么删不掉 我学java的时候也遇到过这种情况 你可以这样删 先Set set=hashtable.keySet(); Iterator it= set.iterator (); while(it.hasNext()){ int a=next(); if(a==id){ it.remove(a); } } 就是先调用keySet方法返回一个hashmap的key的set视图, 然后调用set的迭代器,然后在迭代器中找到key,然后调用迭代器中的remove方法 这样绝对可以删掉了
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-02-18 22:33
public static void main(String[] args) { Hashtable hashtable = new Hashtable(); for(int i=1;i<10;i++) { hashtable.put(i,i); } hashtable.remove(5); for(int i=1;i<10;i++) { if(hashtable.get(i)!=null) System.out.println("hashtable= "+hashtable.get(i)); } } 测试结果: hashtable-kye 1 hashtable-kye 2 hashtable-kye 3 hashtable-kye 4 hashtable-kye 6 hashtable-kye 7 hashtable-kye 8 hashtable-kye 9

求采纳
全部回答
  • 1楼网友:从此江山别
  • 2021-02-18 23:50
由于我不知道你完整的程序是什么,所以没办法说你为什么删不掉 我学java的时候也遇到过这种情况 你可以这样删 先set set=hashtable.keyset(); iterator it=set.iterator(); while(it.hasnext()){ int a=next(); if(a==id){ it.remove(a); } } 就是先调用keyset方法返回一个hashmap的key的set视图, 然后调用set的迭代器,然后在迭代器中找到key,然后调用迭代器中的remove方法 这样绝对可以删掉了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯