我的任务是创建一个名为Node的类,它具有实例变量:E data(Generic)和nextNode(单链接列表实现)。为此,我创建了一个类
public class Node<E>
并实施了所有相关方法。
然后我必须创建一个具有实例变量Node head和int size的List。实质上,List包含一组节点。但是,我不确定如何将该类定义为通用List或常规List。
public class List<E>
VS
public class List
哪种实现更有意义?为什么?感谢任何能够帮助我理解泛型概念的人。
答案 0 :(得分:3)
何时使用List<E>
如果您的列表仅支持添加一种类型的元素,请使用List<E>
。
例如,您希望能够创建Integer
列表或Double
列表,但不能创建混合两者的列表。
然后,您可以支持使用泛型类型E
的添加和删除界面,以强制只能添加该类型的项目而不能添加其他项目。
何时使用List
如果您的列表应支持添加多种不同类型的项目,请使用List
。
例如,如果您希望能够添加Node<Integer>
,Node<Scanner>
和Node<Double>
。
这样你就可以让程序员添加他们想要的任何类型的Node
,因为这个列表没有类型参数。
警告强>
如果您正在编写自己的List
课程(问题使其听起来像您),则上述情况适用。如果您使用的是内置的java.util.List
类,那么在没有类型参数的情况下不应该使用它。