版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
講師:XXX時(shí)間:
年
月目錄CONTENTWS01.項(xiàng)目開(kāi)發(fā)環(huán)境搭建02.學(xué)生成績(jī)管理03.學(xué)生基本信息管理04.不同類別學(xué)生信息管理05.學(xué)生基本信息查找與計(jì)算目錄CONTENTWS06.使用集合實(shí)現(xiàn)學(xué)生信息管理07.學(xué)生信息管理系統(tǒng)異常處理08.使用文件實(shí)現(xiàn)學(xué)生信息存儲(chǔ)09.使用JDBC實(shí)現(xiàn)學(xué)生信息管理10.圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)項(xiàng)目
六使用集合實(shí)現(xiàn)學(xué)生信息管理項(xiàng)目1項(xiàng)目開(kāi)發(fā)環(huán)境搭建任務(wù)一List任務(wù)二
Set任務(wù)三
Map知識(shí)目標(biāo)了解集合,以及常用的集合接口和實(shí)現(xiàn)類,熟悉
Collection
接口和
Iterator
提供的常用方法。了解
List
的特點(diǎn),List
接口提供的常用方法,以及
ArrayList
和
LinkedList
的區(qū)別,掌握ArrayList類和LinkedList類提供的常用方法。了解
Set
的特點(diǎn),以及
HashSet
和
TreeSet
的區(qū)別,掌握
HashSet
類和
TreeSet類提供的常用方法。了解
Map
的特點(diǎn),Map
接口提供的常用方法,以及
HashMap
和
TreeMap
的區(qū)別,掌握HashMap類和TreeMap類提供的常用方法。能力目標(biāo)能夠使用集合對(duì)數(shù)據(jù)進(jìn)行增刪改查操作。能夠根據(jù)不同的應(yīng)用場(chǎng)景選擇合適的集合解決實(shí)際問(wèn)題。素養(yǎng)目標(biāo)增強(qiáng)包容與合作的團(tuán)隊(duì)意識(shí)。樹(shù)立職責(zé)分明與高效協(xié)作的合作理念。點(diǎn)擊跳過(guò)情境掃碼觀看“使用集合實(shí)現(xiàn)學(xué)生信息管理”視頻,討論并回答下列問(wèn)題問(wèn)題1:簡(jiǎn)述
Java
中不同集合的區(qū)別,并選擇適用于學(xué)生信息管理的集合。問(wèn)題2:在Java中,如何遍歷集合?掃碼學(xué)習(xí)使用集合實(shí)現(xiàn)學(xué)生信息管理任務(wù)一ListJava數(shù)組特性
數(shù)組長(zhǎng)度固定,創(chuàng)建后不可改變,適用于存儲(chǔ)固定數(shù)量的數(shù)據(jù)元素。Java集合介紹
集合長(zhǎng)度可變,用于存儲(chǔ)和操作長(zhǎng)度不確定的數(shù)據(jù),只能存儲(chǔ)對(duì)象,不支持基本類型。Java提供了一個(gè)統(tǒng)一的數(shù)據(jù)處理架構(gòu),集合框架,它涵蓋了豐富的接口、實(shí)現(xiàn)類及方法,均在java.util包中。Java集合框架概述集合框架組成
集合框架包括多種接口如List、Set、Map,以及ArrayList、LinkedList、HashSet、HashMap等實(shí)現(xiàn)類,支持高效數(shù)據(jù)管理。集合分類Java中集合接口主要分為Collection和Map,Collection又細(xì)分為L(zhǎng)ist和Set。接口關(guān)系橢圓表示接口,矩形表示接口的實(shí)現(xiàn)類。集合接口及其實(shí)現(xiàn)類的關(guān)系方
法返回值類型說(shuō)
明add(Objecto)boolean將元素添加到集合中addAll(Collectionc)boolean將集合c中的所有元素添加到集合中remove(Objecto)boolean如果集合中有與o相匹配的元素,則刪除元素oremoveAll(Collectionc)void從集合中刪除集合c中的所有元素retainAll(Collectionc)void從集合中刪除集合c中不包含的元素clear()void刪除集合中的所有元素size()int返回集合中元素的數(shù)量isEmpty()boolean判斷集合是否為空contains(Objecto)boolean判斷集合中是否包含元素ocontainsAll(Collectionc)boolean判斷集合中是否包含集合c中的所有元素toArray()Object[]返回一個(gè)包含集合中所有元素的數(shù)組toArray(Object[]a)Object[]返回一個(gè)包含集合中所有元素的數(shù)組。如果數(shù)組
a長(zhǎng)度足夠,則將元素存入
a
中,否則創(chuàng)建新數(shù)組存儲(chǔ)元素iterator()Iterator返回一個(gè)迭代器,用于遍歷集合中的所有元素Collection接口提供的常用方法(1)(2)(3)hasNext()檢查集合中是否存在下一個(gè)元素,即迭代器是否指向集合的末尾。next()獲取集合中的下一個(gè)元素。remove()刪除最近一次使用next()方法獲取的元素迭代器(Iterator)不直接存儲(chǔ)元素,而是指向集合中的元素,使用它可以遍歷集合中的所有元素,并且可以在遍歷過(guò)程中刪除元素。Iteratorit=collection.iterator(); //返回一個(gè)迭代器while(it.hasNext()){ //循環(huán)檢查集合中是否存在下一個(gè)元素Objectobj=it.next(); //獲取下一個(gè)元素//判斷獲取的元素是否滿足刪除條件,如果滿足則刪除元素if(shouldRemove(obj)){it.remove();}}示例remove()方法必須緊跟在
next()方法之后,且每次使用
next()方法后最多調(diào)用一次remove()方法。List(列表)是一個(gè)允許包含重復(fù)元素的集合,適用于需要順序存儲(chǔ)和頻繁訪問(wèn)數(shù)據(jù)的場(chǎng)景。List接口除繼承了Collection接口提供的所有方法外,還提供了一些涉及元素位置的其他方法。方
法返回值類型說(shuō)
明add(intindex,Objectelement)void將元素element添加到列表的指定位置indexaddAll(intindex,Collectionc)boolean將集合c中的所有元素添加到列表的指定位置indexget(intindex)Object返回列表中指定位置index的元素indexOf(Objecto)int返回指定元素
o
在列表中第一次出現(xiàn)的位置。如果列表中不包含元素o,則返回?1lastIndexOf(Objecto)int返回指定元素
o
在列表中最后一個(gè)出現(xiàn)的位置。如果列表中不包含元素o,則返回?1remove(intindex)Object刪除指定位置index的元素set(intindex,Objectelement)Object將指定位置
index
的元素替換為指定元素
element,并返回該位置的原元素listIterator()ListIterator返回一個(gè)列表迭代器,用于遍歷列表中的所有元素listIterator(intindex)ListIterator返回一個(gè)列表迭代器,用于遍歷列表中指定位置index(包含)之后的所有元素subList(intfromIndex,inttoIndex)List返回一個(gè)子列表,該子列表包含原列表中從指定位置fromIndex(包含)到toIndex(不包含)的元素,對(duì)子列表進(jìn)行更改(如添加、刪除和修改),原列表也進(jìn)行相應(yīng)更改List接口提供的常用方法動(dòng)態(tài)數(shù)組特性基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn),允許包含多個(gè)null元素,支持快速隨機(jī)訪問(wèn)。擴(kuò)容機(jī)制容量不足時(shí)自動(dòng)創(chuàng)建更大數(shù)組并復(fù)制元素,確保線性存儲(chǔ)結(jié)構(gòu)。插入刪除效率中間位置操作需復(fù)制數(shù)組,速度較慢,影響性能表現(xiàn)。適用場(chǎng)景適用于隨機(jī)訪問(wèn)頻繁、插入刪除較少的場(chǎng)景,提升數(shù)據(jù)讀取效率。
使用指定集合c創(chuàng)建ArrayList類對(duì)象。ArrayList(Collectionc)創(chuàng)建一個(gè)空的ArrayList類對(duì)象,初始容量為10。ArrayList()
創(chuàng)建一個(gè)空的但具有指定初始容量size的ArrayList類對(duì)象。ArrayList(intsize)(1)(2)(3)ArrayList類構(gòu)造方法【運(yùn)行結(jié)果】實(shí)例:6-1
使用ArrayList類【參考代碼】/*ArrayListTest.java*/packageproject6.example6_1;importjava.util.*;……(詳見(jiàn)教材)
LinkedList
是一種基于雙向鏈表實(shí)現(xiàn)的有序列表,允許包含多個(gè)
null
元素,同時(shí)支持將新添加的元素插入指定位置。
創(chuàng)建一個(gè)空的LinkedList類對(duì)象。(1)LinkedList()構(gòu)造方法
使用指定集合c創(chuàng)建LinkedList類對(duì)象。(2)LinkedList(Collectionc)方
法返回值類型說(shuō)
明addFirst(Objecto)void將指定元素o添加到列表的開(kāi)頭addLast(Objecto)void將指定元素o添加到列表的末尾getFirst()Object返回列表開(kāi)頭的元素removeFirst()Object刪除并返回列表開(kāi)頭的元素getLast()Object返回列表末尾的元素removeLast()Object刪除并返回列表末尾的元素
LinkedList類提供的常用方法【運(yùn)行結(jié)果】實(shí)例:6-2
使用LinkedList類【參考代碼】/*LinkedListTest.java*/packageproject6.example6_2;importjava.util.*;……(詳見(jiàn)教材)
123實(shí)施流程在項(xiàng)目
src
目錄下的
project6
包中新建
task1
包在
task1
包中新建
Main
類運(yùn)行
Main
類在
task1
包中新建
StudentManage
類34掃碼學(xué)習(xí)使用List實(shí)現(xiàn)學(xué)生基本信息管理List集合概述LinkedList類List概述ArrayList類任務(wù)二Set元素訪問(wèn)特性Set無(wú)法通過(guò)索引定位元素,但支持高效存在性檢測(cè),適用于去重與成員校驗(yàn)場(chǎng)景。方法實(shí)現(xiàn)來(lái)源該接口未定義專屬方法,完全沿用Collection類方法體系,確?;A(chǔ)操作一致性。Set(集)是一個(gè)不允許包含重復(fù)元素的集合,它能自動(dòng)去除重復(fù)的元素,適用于需要判斷元素唯一性的場(chǎng)景。定位HashSet
是一種基于哈希表實(shí)現(xiàn)的無(wú)序集,只允許包含一個(gè)
null
元素。特性HashSet
具有高效查找、唯一性約束和無(wú)序存儲(chǔ)等特性,適用于需要去重或快速判斷元素是否存在的場(chǎng)景。哈希表
哈希表又稱散列表,它是一種通過(guò)哈希函數(shù)將鍵映射到存儲(chǔ)位置的數(shù)據(jù)結(jié)構(gòu),支持高效的插入、查找和刪除操作。哈希函數(shù)可以將任意大小的鍵轉(zhuǎn)換為固定范圍的哈希值,系統(tǒng)根據(jù)哈希值可以確定數(shù)據(jù)的存儲(chǔ)位置。創(chuàng)建一個(gè)空的HashSet類對(duì)象。(1)HashSet()
創(chuàng)建一個(gè)空的但具有指定初始容量size的HashSet類對(duì)象。(2)HashSet(intsize)使用指定集合c創(chuàng)建HashSet類對(duì)象。(3)HashSet(Collectionc)HashSet類a構(gòu)造方法【運(yùn)行結(jié)果】實(shí)例:6-3
使用HashSet類【參考代碼】/*HashSetTest.java*/packageproject6.example6_3;importjava.util.*;……(詳見(jiàn)教材)
TreeSet
是一種基于紅黑樹(shù)實(shí)現(xiàn)的有序集,不允許包含
null
元素。TreeSet
具有唯一性約束和自動(dòng)排序等特性,適用于需要高效排序且元素不重復(fù)的場(chǎng)景。紅黑樹(shù)
紅黑樹(shù)是一種自平衡的二叉查找樹(shù),它通過(guò)特定的規(guī)則和操作來(lái)維護(hù)樹(shù)的平衡,確保在高效查找的同時(shí),也能高效地進(jìn)行插入和刪除操作。創(chuàng)建一個(gè)空的TreeSet類對(duì)象。(1)TreeSet()使用指定集合c創(chuàng)建TreeSet類對(duì)象。(2)TreeSet(Collectionc)TreeSet類構(gòu)造方法方
法返回值類型說(shuō)
明first()Object返回集中的第一個(gè)元素last()Object返回集中的最后一個(gè)元素pollFirst()Object刪除并返回集中的第一個(gè)元素。如果集為空,則返回nullpollLast()Object刪除并返回集中的最后一個(gè)元素。如果集為空,則返回nullsubSet(ObjectfromElement,ObjecttoElement)SortedSet<Object>返回一個(gè)子集,該子集包含原集中在fromElement(包含)和toElement(不包含)之間的元素headSet(ObjecttoElement)SortedSet<Object>返回一個(gè)子集,該子集包含原集中在toElement(不包含)之前的元素tailSet(ObjectfromElement)SortedSet<Object>返回一個(gè)子集,該子集包含原集中在fromElement(包含)之后的元素TreeSet類提供的常用方法【運(yùn)行結(jié)果】實(shí)例:6-4
使用TreeSet類【參考代碼】/*TreeSetTest.java*/packageproject6.example6_4;importjava.util.*;……(詳見(jiàn)教材)
使用Set實(shí)現(xiàn)班級(jí)信息管理掃碼學(xué)習(xí)123實(shí)施流程在項(xiàng)目
src
目錄下的
project6
包中新建
task2
包在
task2
包中新建
ClassManage
類在
task2
包中新建
Main
類4運(yùn)行
Main
類SetSet概述HashSet類TreeSet類任務(wù)三MapMap數(shù)據(jù)結(jié)構(gòu)Map由鍵值對(duì)構(gòu)成,鍵唯一且不可重復(fù),值可對(duì)應(yīng)多個(gè)鍵。添加元素需完整鍵值對(duì),檢索時(shí)通過(guò)鍵獲取唯一值。Map操作規(guī)范
插入數(shù)據(jù)需指定鍵與值,查詢僅支持鍵到值的單向映射。鍵的唯一性確保數(shù)據(jù)無(wú)冗余,值可重復(fù)存儲(chǔ)不同鍵。Map(映射)是一個(gè)以鍵值對(duì)形式存儲(chǔ)數(shù)據(jù)的集合,它能通過(guò)鍵快速查找對(duì)應(yīng)的值,適用于需要通過(guò)特定標(biāo)識(shí)獲取信息的場(chǎng)景。方
法返回值類型說(shuō)
明put(Objectkey,Objectvalue)Object將指定鍵
key
和值
value
添加到映射中。如果映射中不存在鍵key,則將鍵key和值
value添加到映射中并返回null;如果映射中已經(jīng)存在鍵key,則用值
value
覆蓋原來(lái)的值并返回原來(lái)的值putIfAbsent(Objectkey,Objectvalue)Object如果映射中不存在鍵key,則將鍵
key
和值value添加到映射中并返回
null;如果映射中已經(jīng)存在鍵
key,則返回該鍵對(duì)應(yīng)的值(該值可以為null)putAll(Mapm)void將指定映射m中的所有鍵值對(duì)添加到映射中remove(Objectkey)Object根據(jù)指定鍵
key
刪除映射中的鍵值對(duì)。如果映射中已經(jīng)存在鍵
key,則刪除鍵值對(duì)并返回該鍵對(duì)應(yīng)的值;如果映射中不存在鍵key,則直接返回nullclear()void清空映射中的所有鍵值對(duì)
Map接口提供的常用方法
Map接口提供的常用方法(續(xù)表)方
法返回值類型說(shuō)
明get(Objectkey)Object返回映射中指定鍵
key
對(duì)應(yīng)的值。如果映射中不存在鍵key,則返回nullcontainsKey(Objectkey)boolean判斷映射中是否包含指定鍵keycontainsValue(Objectvalue)boolean判斷映射中是否包含指定值valuesize()int返回映射中鍵值對(duì)的個(gè)數(shù)isEmpty()boolean判斷映射是否為空keySet()Set返回映射中所有鍵組成的Set。如果從
Set
中刪除元素,則原映射中對(duì)應(yīng)的鍵值對(duì)也被刪除values()Collection返回映射中所有值組成的
Collection。如果從
Collection中刪除元素,則原映射中對(duì)應(yīng)的鍵值對(duì)也被刪除entrySet()Set返回映射中所有鍵值對(duì)組成的
Set。如果從
Set
中刪除元素,則原映射中對(duì)應(yīng)的鍵值對(duì)也被刪除HashMap
是一種基于哈希表實(shí)現(xiàn)的無(wú)序映射,不保證鍵值對(duì)的順序。HashMap
中的鍵唯一,允許包含
null
鍵和
null
值。HashMap
提供了高效的插入、刪除和查找操作,適用于需要高效隨機(jī)訪問(wèn)鍵值對(duì)的場(chǎng)景。HashMap()創(chuàng)建
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黃石新港產(chǎn)業(yè)投資有限公司招聘工作人員備考題庫(kù)及答案詳解參考
- 術(shù)后電解質(zhì)異常的康復(fù)治療方案
- 術(shù)后心房顫動(dòng)的風(fēng)險(xiǎn)因素與預(yù)防策略
- 藥劑學(xué)試題庫(kù)及答案
- 術(shù)后復(fù)發(fā)性糖尿病的預(yù)防策略
- 術(shù)后不明原因發(fā)熱的感染源分析方法
- 大型國(guó)有集團(tuán)公司信息化系統(tǒng)轉(zhuǎn)讓和報(bào)廢管理辦法
- 鳴鳴很忙商業(yè)公司招聘面試題及答案
- 栽植黃山松施工方案視頻
- 本科模擬教學(xué)的多元化能力培養(yǎng)體系
- 投資者適當(dāng)性管理課件
- 中西方餐桌禮儀的差異課件
- 駕照考試科目一學(xué)習(xí)內(nèi)容
- 化工課件-油品儲(chǔ)運(yùn)工藝
- 電力電纜基礎(chǔ)知識(shí)課件
- 代理記賬申請(qǐng)表
- 模型五:數(shù)列中的存在、恒成立問(wèn)題(解析版)
- 印品整飾工等級(jí)題庫(kù)技能鑒定C卷
- 2023武漢市元調(diào)-化學(xué)卷及答案
- 商業(yè)地產(chǎn)招商部管理辦法
- GB∕T 799-2020 地腳螺栓-行業(yè)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論