java創(chuàng)建鏈表 java hashmap為什么用數(shù)組和鏈表?
java hashmap為什么用數(shù)組和鏈表?數(shù)組的優(yōu)點是可以根據(jù)下標(biāo)快速找到相應(yīng)的元素。鏈表的優(yōu)點是它只知道插入位置的前后,不需要一個接一個的位置。這提高了插入或刪除的速度。就像兩者優(yōu)點的結(jié)合提高了搜
java hashmap為什么用數(shù)組和鏈表?
數(shù)組的優(yōu)點是可以根據(jù)下標(biāo)快速找到相應(yīng)的元素。鏈表的優(yōu)點是它只知道插入位置的前后,不需要一個接一個的位置。這提高了插入或刪除的速度。就像兩者優(yōu)點的結(jié)合提高了搜索速度和添加刪除的速度一樣
數(shù)組就像人站成一排,身上有數(shù)字一樣。很容易找到第10個人,而且根據(jù)他們身上的數(shù)字可以很快找到他們。但插入或刪除的速度很慢。當(dāng)你想在某個位置插入或刪除某個人時,后面那個人的號碼會改變。當(dāng)然,加入或刪除的人最后總是很快。鏈表就像一個人手拉手站成一個圈。要找到第十個人并不容易。你得從第一人稱開始一個一個地數(shù)。但是插入和刪除都很快。插入時,只需松開兩個人的手,重新連接新人的手。刪除相同的內(nèi)容。在Java中,ArrayList和LinkedList分別用數(shù)組和鏈表實現(xiàn)。沒有人是好是壞,根據(jù)不同的情況,用自己的。
數(shù)組和鏈表的區(qū)別?
如果您是一個完全的新手,程序如下:
1。首先,明確短期目標(biāo)和長期目標(biāo):短期目標(biāo)主要是“小步快跑”,長期目標(biāo)主要是“好內(nèi)功”。
所謂“小步快跑”是指:盡快啟動,就可以編寫程序并正確運行結(jié)果。這個階段是用來積累信心,使他們能夠堅持學(xué)習(xí)。
所謂“好內(nèi)功”是指:了解程序背后的原理、數(shù)據(jù)結(jié)構(gòu)、算法性能、軟件工程、架構(gòu)設(shè)計等。制定學(xué)習(xí)和實踐計劃并毫不猶豫地付諸實施:你可以用Excel寫下每天要實現(xiàn)的具體小目標(biāo),然后每天睡覺前檢查是否完成。養(yǎng)成這樣的習(xí)慣對你是個很好的激勵。這一行最重要的是多年的積累,從量變到質(zhì)變。
3. 思想開放,不要閉門造車:Java相對于其他語言的最大優(yōu)勢是其龐大而成熟的生態(tài)環(huán)境。有無數(shù)的好框架、工具和最佳實踐供您選擇。有很多“輪子”可以“使用”。
加入更多的技術(shù)圈和資源社區(qū),與前人交流,了解技能樹,并逐一進行有意識的培訓(xùn)。
閱讀更多經(jīng)典書籍,加深對基本概念的理解。學(xué)習(xí)語言,初學(xué)者可以看到《Java核心編程》、《Java編程思想》的學(xué)習(xí)框架,初學(xué)者可以在網(wǎng)上找到相應(yīng)的流行實踐視頻,動手實踐,熟悉后,可以開始嘗試閱讀相應(yīng)的源代碼。
另一個好習(xí)慣是多總結(jié)和寫博客。它一方面有助于整理自己的知識,另一方面也有利于后人。在某種程度上,您可以在源代碼社區(qū)中啟動自己的項目。
對于初學(xué)者,應(yīng)該特別注意:多問為什么,而不僅僅局限于程序運行是否正確。想寫得足夠有力嗎?有漏洞嗎?性足夠好嗎?只有長期堅持這種精心訓(xùn)練,我們才能迅速提高。