Goodmorning everyomor,
我的学校项目有点问题。 我们被告知要创建一个在Hashmap上实现Enumeration的迭代器。
所以我做了这个枚举:
public Enumeration<Object> getEnumeration() {
return new Enumeration<Object>() {
private int itemsDone = 0;
Collection<Long> keysCollection = getContent().keySet();
Long [] keys = keysCollection.toArray(new Long[keysCollection.size()]);
@Override
public boolean hasMoreElements() {
if(itemsDone < getContent().size() +1 ) {
return true;
}else {
return false;
}
}
@Override
public Object nextElement() {
return getContent().get(keys[itemsDone++]);
}
};
}
这适用于我的背包课程
public class Backpack extends Item implements Carrier, Enumeration<Object>{
getContent()返回hashmap。现在的问题是eclipse不断告诉我我没有实现Enumeration中的方法。如果我使用快速修复它只是在我的类中添加hasMoreElements()和nextElement()虚拟方法。 不知怎的,它没有在内部类中看到这些方法..
有人能帮帮我吗?任何帮助表示赞赏。
答案 0 :(得分:1)
Backpack
没有实现它。 getEnumeration
中使用的匿名内部类。如果你想让Backpack本身实现Enumeration,它需要有这些方法。