[英]Linked list class from scratch vs Default linked list class?
作为项目/作业的学生,我一直在编写我的链表数据结构,我想知道“真实世界”开发人员是否必须编写自己的链表DS或使用任何已提供的链表Java文档中的对象。 哪种情况更好?在什么情况下?
自定义LinkedList
实现很可能会更有效,因为它允许您根据需要进行优化,但JDK的LinkedList
始终优于其可重用性和可维护性优势:
LinkedList
的实现。 List
接口的任何添加内容。 LinkedList
将与许多使用List
的第三方库兼容。 如果您决定创建自定义List
实现,您可以选择扩展AbstractSequentialList
以获得#2,#4和可能#5的好处。
非常简单的规则:除非你有充分的理由这样做,否则不要重新发明轮子。
含义:当你做“专业”工作时; 你永远平衡
A)重新使用现有的组件
与
B)创建自己的解决方案。
特别是对于任何“收集”导向的东西, 完全重做某些东西的理由很少。
因此,“技术”答案是:对于生产工作,您必须评估这两种替代方案的成本/收益; 然后你决定做什么。 但特别是对于来自Java 标准库的类,您应该更喜欢重用。 无论如何,你依赖这些图书馆; 所以不使用它们是没有意义的。
并提供一些可以考虑的事情:
A)从编写自己的组件中获益:避免依赖第三方代码。 您可以创建在您的设置中完美运行的东西。 ...
B)这样做的成本:当然,随着时间的推移创建和维护自己的解决方案的直接成本(尤其是维护经常被严重低估!当然,所有那些“城堡”在他的答案中列出的点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.