Java程序設(shè)計(jì)-項(xiàng)目驅(qū)動(dòng)式教程06使用集合實(shí)現(xiàn)學(xué)生信息管理_第1頁(yè)
Java程序設(shè)計(jì)-項(xiàng)目驅(qū)動(dòng)式教程06使用集合實(shí)現(xiàn)學(xué)生信息管理_第2頁(yè)
Java程序設(shè)計(jì)-項(xiàng)目驅(qū)動(dòng)式教程06使用集合實(shí)現(xiàn)學(xué)生信息管理_第3頁(yè)
Java程序設(shè)計(jì)-項(xiàng)目驅(qū)動(dòng)式教程06使用集合實(shí)現(xiàn)學(xué)生信息管理_第4頁(yè)
Java程序設(shè)計(jì)-項(xiàng)目驅(qū)動(dòng)式教程06使用集合實(shí)現(xiàn)學(xué)生信息管理_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論