什么是实现java Collection接口的正确方法

时间:2015-08-08 20:56:25

标签: java

我不确定覆盖Collection<E>界面中所有方法的正确方法是什么。

我被要求创建一个类HotDog implements Collection<E>,因此我必须覆盖它包含的所有方法,我不知道如何做到这一点,因为通常我认为最好的解决方案是继承来自 allready 实现Collection接口的类。

要求具有 HotDog 对象的功能,以便根据热狗的成分数量计算HotDog的全价,我相信Collection功能适用于热狗的成分。

1 个答案:

答案 0 :(得分:4)

创建新集合有三种方法:

  • 从头开始。您实现了Collection接口的所有方法。
  • 扩展现有的类,就像您已经提到的那样。 Java为此提供了抽象类:java.util.AbstractCollection以及针对特定类型集合的各种实现。这些抽象类允许您关注集合如何存储其元素,而不必自己编写所有方法。
  • 组合物。您的类基本上是现有集合类的包装器,并将其所有方法调用(除了一些您想要调整的行为除外)直接重定向到包装集合的方法。

哪种方法最好取决于您的特定要求。