【发布时间】:2022-12-11 08:46:57
【问题描述】:
我对编程很陌生,所以如果这是一个愚蠢的问题,我深表歉意。我如何从哈希集中删除对象?我试过使用 .remove() 但我做错了什么因为它对对象不起作用
public class Pocket
{
private HashSet<Penny> myset;
public Pocket(int PocketSize)
{
myset = new HashSet<Penny>();
while (PocketSize > myset.size()){
myset.add(new Penny());
}
public int pennyCount()
{
return myset.size();
}
public Penny removePenny(){
if (myset.size() > 0){
myset.remove(Penny);
} else{
return null;
}
}
我希望方法 removePenny() 从我之前初始化的集合中删除一个便士对象。如果有人可以提供帮助,那将非常感谢。
【问题讨论】:
-
您使用
remove()删除一个具体的目的。由于您所有的Penny对象似乎都是等效的,所以我不确定您为什么要使用Set。可以有一个柜台。 -
您的
remove方法中不需要if,只需调用该方法即可。但是你需要返回一些东西,在那里返回一个Penny是没有意义的。