0

大家早上好,

我的学校项目有点问题。我们被告知要创建一个在 Hashmap 上实现枚举的迭代器。

所以我做了这个枚举:

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() 返回。现在的问题是eclipse一直告诉我我还没有实现枚举中的方法。如果我使用快速修复,它只会在我的类中添加 hasMoreElements() 和 nextElement() 虚拟方法。不知何故,它在内部类中看不到这些方法..

任何人都可以帮助我吗?任何帮助表示赞赏。

4

1 回答 1

1

Backpack没有实现它。中使用的匿名内部类getEnumeration。如果你想让 Backpack 自己实现 Enumeration,它需要有那些方法。

于 2010-05-30T06:45:42.493 回答