999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于數(shù)據(jù)結(jié)構(gòu)與簡(jiǎn)化內(nèi)存模型的Java集合教學(xué)方法研究

2018-06-01 06:47:35胡建華
計(jì)算機(jī)教育 2018年5期
關(guān)鍵詞:方法課程學(xué)生

胡建華,鄢 旭

(1.浙江農(nóng)林大學(xué)暨陽(yáng)學(xué)院 工程技術(shù)系,浙江 諸暨 311800;2.江西旅游商貿(mào)職業(yè)學(xué)院 現(xiàn)代教育技術(shù)中心,江西 南昌 330000)

0 引 言

Java語(yǔ)言課程中,集合框架是學(xué)生反映較難掌握的內(nèi)容之一。該部分提供了很多接口與類,List、ArrayList、LinkedList、HashMap、TreeMap 等,如這些類的區(qū)別在哪里,在什么情況下使用,這些問(wèn)題時(shí)常困擾著學(xué)生。筆者發(fā)現(xiàn)很少有教材從理論的高度對(duì)Java集合框架進(jìn)行清晰闡述,絕大部分教材只是羅列每個(gè)類的屬性與方法,沒(méi)有解釋每個(gè)類的區(qū)別及應(yīng)用場(chǎng)景;少數(shù)教材簡(jiǎn)單說(shuō)明ArrayList、LinkedList的實(shí)現(xiàn)方法不同,但不夠全面,也沒(méi)有說(shuō)明一個(gè)集合對(duì)象保存的并不是元素的內(nèi)容,而只是元素對(duì)象的引用(可以理解為地址)。在多年的Java語(yǔ)言課程教學(xué)中,筆者發(fā)現(xiàn)從數(shù)據(jù)結(jié)構(gòu)理論角度介紹Java集合框架組成,以JVM簡(jiǎn)化內(nèi)存模型描述集合對(duì)象的實(shí)現(xiàn),能幫助學(xué)生輕松理解Java集合框架,并靈活應(yīng)用,取得了較好的教學(xué)效果。

1 Java的集合框架就是數(shù)據(jù)結(jié)構(gòu)課程中集合的抽象

要從數(shù)據(jù)結(jié)構(gòu)理論的角度理解Java集合框架,第一步是回顧數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)是一門(mén)研究非數(shù)值計(jì)算問(wèn)題中數(shù)據(jù)的組織、存儲(chǔ)及操作的學(xué)科。所謂非數(shù)值計(jì)算問(wèn)題,指不是一個(gè)公式就能解決的問(wèn)題,比如排序問(wèn)題等。首先講解數(shù)據(jù)的組織、存儲(chǔ)及操作,見(jiàn)表1。

表1 數(shù)據(jù)的組織、存儲(chǔ)及操作

接著,講解集合、線性結(jié)構(gòu)、線性表、順序表、鏈表的區(qū)別。集合是一批數(shù)據(jù)(可以無(wú)序);線性結(jié)構(gòu)把一批數(shù)據(jù)組織起來(lái),除了首元素與尾元素,中間任何一個(gè)元素只有一個(gè)前驅(qū)、一個(gè)后繼。從操作受限的角度看,線性結(jié)構(gòu)可分為線性表、隊(duì)列與棧3種,線性表就是操作不受限的線性結(jié)構(gòu)。從存儲(chǔ)的角度看,順序存儲(chǔ)的線性表叫順序表,鏈?zhǔn)酱鎯?chǔ)的線性表叫鏈表。

最后,引導(dǎo)學(xué)生分析順序表與鏈表在訪問(wèn)、插入、刪除一個(gè)元素時(shí)的效率區(qū)別。

第二步,講解Java的集合框架組成,見(jiàn)圖1。

明確告訴學(xué)生,Collection接口就是數(shù)據(jù)結(jié)構(gòu)中集合的抽象,該接口提供的方法,就是要完成數(shù)據(jù)結(jié)構(gòu)中集合的常用算法,諸如建立集合、插入元素、刪除元素、集合的交叉并補(bǔ)運(yùn)算等。針對(duì)不同存儲(chǔ)結(jié)構(gòu)有不同的實(shí)現(xiàn)方式,這些方法都是抽象方法,具體由它的子類實(shí)現(xiàn),因此Collection定義成接口。

圖1 Java的集合框架組成

ArrayList類用順序存儲(chǔ)方式實(shí)現(xiàn),ArrayList就是順序表;LinkedList用鏈?zhǔn)酱鎯?chǔ)方式實(shí)現(xiàn),LinkedList就是鏈表;兩者的區(qū)別在于訪問(wèn)、插入、刪除一個(gè)元素時(shí),效率是不同的。若一個(gè)集合經(jīng)常要插入、刪除元素,則LinkedList效率高。

Set就是在數(shù)據(jù)結(jié)構(gòu)集合的基礎(chǔ)上加了唯一性要求;當(dāng)Map把鍵—值看做一個(gè)整體時(shí),它就是集合,并提供了項(xiàng)集。

進(jìn)一步講解,HashSet、HashMap等是無(wú)序集合,TreeSet、TreeMap是通過(guò)二叉排序法建立的有序集合。

2 Java集合對(duì)象保存的是集合中每個(gè)元素對(duì)象的引用

也許受到C語(yǔ)言課程中數(shù)組元素分配內(nèi)存空間的影響,很多學(xué)生認(rèn)為集合中保存了元素對(duì)象本身,因此他們不理解一個(gè)對(duì)象加入兩個(gè)集合等問(wèn)題。一個(gè)集合中刪除了這個(gè)元素對(duì)象,為什么另一個(gè)集合還能顯示這個(gè)對(duì)象呢?所以,Java教學(xué)中,理解Java的內(nèi)存管理是很重要的。Java實(shí)際的內(nèi)存管理比較復(fù)雜,但可以用簡(jiǎn)化的方式描述,既便于學(xué)生理解,又不違背Java內(nèi)存管理原則 。可以簡(jiǎn)單地把內(nèi)存分為兩部分:類區(qū)與對(duì)象區(qū)。下面用簡(jiǎn)化內(nèi)存模型分析一段Java集合代碼。

list使用類中,main方法的簡(jiǎn)化內(nèi)存模型分析見(jiàn)圖2。

由圖2可見(jiàn),張三、令狐沖兩個(gè)學(xué)生對(duì)象是獨(dú)立建立在對(duì)象區(qū)的,jsj.add(xs1)只是通過(guò)調(diào)用add方法,把張三這個(gè)學(xué)生對(duì)象的地址加入到集合對(duì)象jsj中。jsj中刪除了一個(gè)學(xué)生對(duì)象,只是刪除了對(duì)這個(gè)對(duì)象的引用,這個(gè)對(duì)象本身還在內(nèi)存中。

圖2 main方法的簡(jiǎn)化內(nèi)存模型分析圖

3 結(jié) 語(yǔ)

通過(guò)與數(shù)據(jù)結(jié)構(gòu)知識(shí)相結(jié)合,可以用簡(jiǎn)化內(nèi)存模型分析集合代碼,幫助學(xué)生輕松掌握J(rèn)ava集合框架的本質(zhì),而不會(huì)迷惘于成堆的接口和類中。學(xué)院2015級(jí)學(xué)生按此方法教學(xué),該門(mén)課程平均成績(jī)達(dá)到85分,而前一屆學(xué)生未采用這種講課方法,同樣試卷考試,課程平均成績(jī)只有70分。由此可見(jiàn),采用本文這種類比式教學(xué)方法后,教學(xué)效果提高顯著。

[1] 董東. 數(shù)據(jù)結(jié)構(gòu)與Java面向?qū)ο蟪绦蛟O(shè)計(jì)課程之間的有效銜接[J]. 計(jì)算機(jī)教育, 2015(15): 82-84.

[2] 宋晏. 基于知識(shí)邏輯結(jié)構(gòu)與思維形式注記教學(xué)論的Java教學(xué)設(shè)計(jì)[J]. 工業(yè)和信息化教育, 2014(5): 68-74.

猜你喜歡
方法課程學(xué)生
數(shù)字圖像處理課程混合式教學(xué)改革與探索
軟件設(shè)計(jì)與開(kāi)發(fā)實(shí)踐課程探索與實(shí)踐
為什么要學(xué)習(xí)HAA課程?
趕不走的學(xué)生
學(xué)生寫(xiě)話
學(xué)生寫(xiě)的話
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚(yú)
聰明的學(xué)生等
主站蜘蛛池模板: 国产综合另类小说色区色噜噜| 国产视频自拍一区| 无码不卡的中文字幕视频| 中文字幕日韩丝袜一区| 欧美啪啪一区| 欧美区一区| 午夜一级做a爰片久久毛片| 成人国产精品一级毛片天堂 | 女人爽到高潮免费视频大全| 扒开粉嫩的小缝隙喷白浆视频| 男人天堂亚洲天堂| 综合社区亚洲熟妇p| 亚洲午夜福利在线| 午夜视频在线观看免费网站| 日本一本正道综合久久dvd| 91青青视频| 国产视频入口| 911亚洲精品| 国产白浆在线| 欧美精品v| 亚洲福利网址| 高清无码手机在线观看 | 亚洲九九视频| 久久熟女AV| 一级在线毛片| 91精品专区| 国产一级视频在线观看网站| 1024国产在线| 国产最新无码专区在线| 一级香蕉视频在线观看| 国产欧美日韩va另类在线播放| 美美女高清毛片视频免费观看| 2020国产在线视精品在| 国产真实乱子伦视频播放| 欧美色99| 91国内视频在线观看| 日韩黄色在线| 波多野结衣一级毛片| 伊人成人在线视频| 欧美色亚洲| 香蕉在线视频网站| 中文字幕免费在线视频| 亚洲精品视频免费看| 日韩欧美中文字幕在线精品| 成年片色大黄全免费网站久久| 在线观看91香蕉国产免费| 国产一区二区三区夜色| 真实国产精品vr专区| 69精品在线观看| A级毛片高清免费视频就| 91美女视频在线| 久久国产精品电影| 国产美女无遮挡免费视频网站 | 波多野结衣在线一区二区| 成人无码一区二区三区视频在线观看| 91色综合综合热五月激情| 欧美一区中文字幕| 免费看黄片一区二区三区| 免费观看亚洲人成网站| 国产区在线看| 伊人蕉久影院| 日韩av手机在线| 麻豆精品在线视频| 女同国产精品一区二区| 99re66精品视频在线观看| 极品国产一区二区三区| 四虎永久在线精品影院| 色天天综合久久久久综合片| 亚洲国产精品一区二区高清无码久久 | 色久综合在线| 成人免费视频一区| 色亚洲成人| 国产精品无码一区二区桃花视频| 在线观看免费国产| 日本三级欧美三级| 日韩无码视频专区| 中文字幕亚洲综久久2021| 中文字幕啪啪| 无码内射在线| 精品久久久久无码| 亚洲自偷自拍另类小说| 免费观看国产小粉嫩喷水|