java創(chuàng)建鏈表 在java中集合中迭代是怎么一回事兒?為什么要進(jìn)行集合的迭代?
在java中集合中迭代是怎么一回事兒?為什么要進(jìn)行集合的迭代?事實(shí)上,嚴(yán)格地說(shuō),迭代是一種設(shè)計(jì)模式。迭代的目的是遍歷某一類型數(shù)據(jù)集的內(nèi)容,而不知道該類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。實(shí)現(xiàn)思想是定義一個(gè)迭代器接口,它
在java中集合中迭代是怎么一回事兒?為什么要進(jìn)行集合的迭代?
事實(shí)上,嚴(yán)格地說(shuō),迭代是一種設(shè)計(jì)模式。迭代的目的是遍歷某一類型數(shù)據(jù)集的內(nèi)容,而不知道該類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
實(shí)現(xiàn)思想是定義一個(gè)迭代器接口,它至少聲明兩個(gè)方法:hasnext()和next()。通過(guò)hasnext()判斷是否有遍歷元素,并通過(guò)next()返回遍歷元素。對(duì)于具體的實(shí)現(xiàn),我們可以根據(jù)不同的需求創(chuàng)建不同的實(shí)現(xiàn)類。
換句話說(shuō),迭代沒(méi)有編程語(yǔ)言屬性,但幾乎所有編程語(yǔ)言都支持迭代。
在Java中,無(wú)需迭代即可遍歷集合。當(dāng)然,無(wú)需迭代的遍歷僅限于list接口的實(shí)現(xiàn)類。因?yàn)榱斜斫涌谥付丝梢酝ㄟ^(guò)集合索引獲得相應(yīng)的值,所以無(wú)論列表是通過(guò)數(shù)組實(shí)現(xiàn)還是通過(guò)鏈表實(shí)現(xiàn)。
但是,Java中的集合不僅是列表,而且是集合。這種非列表集合不能通過(guò)索引獲得指定的元素,因此使用迭代方法。
除了list和set之外,Java還有一個(gè)雙列集合,也稱為鍵值對(duì)集合。但是,這種集合遍歷不能直接迭代。相反,我們使用折衷方法,要么先獲取鍵值集,要么通過(guò)遍歷鍵值遍歷映射,要么獲取鍵值集地圖輸入橫穿。
總之,迭代法不屬于任何編程語(yǔ)言,它只是一種設(shè)計(jì)思想,但大多數(shù)編程語(yǔ)言都會(huì)實(shí)現(xiàn)它,包括Java。
對(duì)java剛?cè)腴T的新手有什么要提醒的嗎?
如果您是一個(gè)完全的新手,程序如下:
1。首先,明確短期目標(biāo)和長(zhǎng)期目標(biāo):短期目標(biāo)主要是“小步快跑”,長(zhǎng)期目標(biāo)主要是“好內(nèi)功”。
所謂“小步快跑”是指:盡快啟動(dòng),就可以編寫(xiě)程序并正確運(yùn)行結(jié)果。這個(gè)階段是用來(lái)積累信心,使他們能夠堅(jiān)持學(xué)習(xí)。
所謂“好內(nèi)功”是指:了解程序背后的原理、數(shù)據(jù)結(jié)構(gòu)、算法性能、軟件工程、架構(gòu)設(shè)計(jì)等。制定學(xué)習(xí)和實(shí)踐計(jì)劃并毫不猶豫地付諸實(shí)施:你可以用Excel寫(xiě)下每天要實(shí)現(xiàn)的具體小目標(biāo),然后每天睡覺(jué)前檢查是否完成。養(yǎng)成這樣的習(xí)慣對(duì)你是個(gè)很好的激勵(lì)。這一行最重要的是多年的積累,從量變到質(zhì)變。
3. 思想開(kāi)放,不要閉門造車:Java相對(duì)于其他語(yǔ)言的最大優(yōu)勢(shì)是其龐大而成熟的生態(tài)環(huán)境。有無(wú)數(shù)的好框架、工具和最佳實(shí)踐供您選擇。有很多“輪子”可以“使用”。
加入更多的技術(shù)圈和資源社區(qū),與前人交流,了解技能樹(shù),并逐一進(jìn)行有意識(shí)的培訓(xùn)。
閱讀更多經(jīng)典書(shū)籍,加深對(duì)基本概念的理解。學(xué)習(xí)語(yǔ)言,初學(xué)者可以看到《Java核心編程》、《Java編程思想》的學(xué)習(xí)框架,初學(xué)者可以在網(wǎng)上找到相應(yīng)的流行實(shí)踐視頻,動(dòng)手實(shí)踐,熟悉后,可以開(kāi)始嘗試閱讀相應(yīng)的源代碼。
另一個(gè)好習(xí)慣是多總結(jié)和寫(xiě)博客。它一方面有助于整理自己的知識(shí),另一方面也有利于后人。在某種程度上,您可以在源代碼社區(qū)中啟動(dòng)自己的項(xiàng)目。
對(duì)于初學(xué)者,應(yīng)該特別注意:多問(wèn)為什么,而不僅僅局限于程序運(yùn)行是否正確。想寫(xiě)得足夠有力嗎?有漏洞嗎?性足夠好嗎?只有長(zhǎng)期堅(jiān)持這種精心訓(xùn)練,我們才能迅速提高。