[英]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.