我的任务是创建一个名为 Node 的类,该类具有实例变量:E 数据(通用)和 nextNode(单链表实现)。为此,我创建了一个类
public class Node<E>
并实现了所有相关方法。
然后我必须创建一个包含实例变量 Node head 和 int size 的 List。本质上,列表包含节点的集合。但是,我不确定应该如何将类定义为通用列表或常规列表。
public class List<E>
对比
public class List
哪种实现方式更有意义,为什么?感谢任何可以帮助我理解泛型概念的人。
最佳答案
何时使用 List<E>
如果您的列表只支持添加一种类型的元素,请使用 List<E>
.
例如,您希望能够创建 Integer
的列表s 或 Double
的列表s,但不是混合两者的列表。
然后您可以支持使用通用类型的添加和删除接口(interface) E
为了强制执行只能添加该类型的项目而不能添加其他项目的事实。
何时使用 List
如果您的列表应该支持添加多种不同类型的项目,请使用 List
.
例如,如果您希望能够添加 Node<Integer>
, 一个 Node<Scanner>
, 和一个 Node<Double>
.
这样你就可以让程序员添加Node
他们想要的任何类型的 s,因为列表没有类型参数。
警告
如果您正在编写自己的 List
,则以上内容成立类(这个问题听起来像你)。如果您使用内置 java.util.List
类,那么你不应该在没有类型参数的情况下使用它。
关于java - 通用节点是否需要成为通用列表的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405886/