gpt4 book ai didi

java - 通用节点是否需要成为通用列表的一部分?

转载 作者:行者123 更新时间:2023-11-29 04:34:13 24 4
gpt4 key购买 nike

我的任务是创建一个名为 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com