版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高級(jí)程序設(shè)計(jì)與應(yīng)用Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4張震上海大學(xué)Java集合與工具類Util類日期操作Arrays類Math類Java集合常用數(shù)據(jù)結(jié)構(gòu)線性表、鏈表等Collection是最根本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素〔Elements〕。JavaSDK不提供直接繼承自Collection的類,JavaSDK提供的類都是繼承自Collection的“子接口”如List和SetJava集合所有實(shí)現(xiàn)Collection接口的類都必須提供兩個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù):無(wú)參數(shù)的構(gòu)造函數(shù)用于創(chuàng)立一個(gè)空的Collection,有一個(gè)Collection參數(shù)的構(gòu)造函數(shù)用于創(chuàng)立一個(gè)新的Collection,這個(gè)新的Collection與傳入的Collection有相同的元素。后一個(gè)構(gòu)造函數(shù)允許用戶復(fù)制一個(gè)Collection。如何遍歷Collection中的每一個(gè)元素?不管Collection的實(shí)際類型如何,它都支持一個(gè)iterator()的方法,該方法返回一個(gè)迭代子,使用該迭代子即可逐一訪問(wèn)Collection中每一個(gè)元素。典型的用法如下:Iteratorit=collection.iterator();//獲得一個(gè)迭代子while(it.hasNext()){Objectobj=it.next();//得到下一個(gè)元素}由Collection接口派生的兩個(gè)接口是List和Set。Java集合
List接口及其實(shí)現(xiàn)類是容量可變的列表,可按索引訪問(wèn)集合中的元素。
特點(diǎn):集合中的元素有序、可重復(fù);
列表在數(shù)據(jù)結(jié)構(gòu)中分別表現(xiàn)為:數(shù)組和向量、鏈表、堆棧、隊(duì)列。ArrayList
實(shí)現(xiàn)一個(gè)數(shù)組,它的規(guī)??勺儾⑶夷芟矜湵硪粯颖辉L問(wèn)。它提供的功能類似Vector類但不同步,它是以Array方式實(shí)現(xiàn)的List,允許快速隨機(jī)存取。
LinkedList實(shí)現(xiàn)一個(gè)鏈表,提供最正確順序存取,適合插入和移除元素。由這個(gè)類定義的鏈表也可以像棧或隊(duì)列一樣被使用。提供最正確順序存取,適合插入和移除元素。Set接口:集合中的元素不按特定方式排序,只是簡(jiǎn)單的把對(duì)象參加集合中,就像往口袋里放東西。對(duì)Set中成員的訪問(wèn)和操作是通過(guò)Set中對(duì)象的引用進(jìn)行的,所以集中不能有重復(fù)對(duì)象。
HashSet
能夠快速定位一個(gè)元素,要注意的是:存入HashSet中的對(duì)象必須實(shí)現(xiàn)HashCode()方法;
TreeSet
將放入其中的元素按序存放。Java集合ArrayListJava集合LinkedListJava集合HashSetJava集合LinkedHashSetJava集合TreeSetJavaMap
Map是一個(gè)單獨(dú)的接口,不繼承于Collection。Map是一種把鍵對(duì)象和值對(duì)象進(jìn)行關(guān)聯(lián)的容器Java集合VectorVector是矢量隊(duì)列。繼承于AbstractList,實(shí)現(xiàn)了List,RandomAccess,Cloneable這些接口。Vector繼承了AbstractList,實(shí)現(xiàn)了List;所以,它是一個(gè)隊(duì)列,支持相關(guān)的添加、刪除、修改、遍歷等功能Vector實(shí)現(xiàn)了RandmoAccess接口,即提供了隨機(jī)訪問(wèn)功能。Vector實(shí)現(xiàn)了Cloneable接口,即實(shí)現(xiàn)clone()函數(shù)。它能被克隆和ArrayList不同,Vector中的操作是線程平安的。Java集合StackStack是棧。它的特性是:先進(jìn)后出(FILO,FirstInLastOut)。java工具包中的Stack是繼承于Vector(矢量隊(duì)列)的,由于Vector是通過(guò)數(shù)組實(shí)現(xiàn)的,這就意味著,Stack也是通過(guò)數(shù)組實(shí)現(xiàn)的,而非鏈表。
執(zhí)行push時(shí)(即,將元素推入棧中),是通過(guò)將元素追加的數(shù)組的末尾執(zhí)行peek時(shí)(即,取出棧頂元素,不執(zhí)行刪除),是返回?cái)?shù)組末尾的元素執(zhí)行pop時(shí)(即,取出棧頂元素,并將該元素從棧中刪除),是取出數(shù)組末尾的元素,然后將該元素從數(shù)組中刪除執(zhí)行search時(shí)〔即,搜索元素,返回元素在棧的位置〕,是搜索數(shù)組元素的位置,從末尾開(kāi)始算起Java集合QueueJava日期操作Date類:當(dāng)前日期java.utilCalendar類:復(fù)雜的日期計(jì)算java.utilSimpleDateFormat類:格式化顯示日期類java.textJavaArrays類JAVA中的Arrays類是一個(gè)實(shí)現(xiàn)對(duì)數(shù)組操作的工具類,包括了各種各樣的靜態(tài)方法,可以實(shí)現(xiàn)數(shù)組的排序和查找、數(shù)組的比較和對(duì)數(shù)組增加元素,數(shù)組的復(fù)制和將數(shù)組轉(zhuǎn)換成字符串等功能。這些方法都有對(duì)所有根本類型的重載方法。JavaArrays類數(shù)組填充數(shù)組比較數(shù)組復(fù)制JavaMath類類位于Java.lang包中,包含用于執(zhí)行根本數(shù)學(xué)運(yùn)算的方法!Math類的所有執(zhí)行方法都是靜態(tài)方法,可以直接使用類名.方法名調(diào)用,如:Math.round()JavaMath類java.math.BigInteger
類提供操作類似所有Java的根本整數(shù)運(yùn)算符和中的所有相關(guān)的方法。它還提供了模運(yùn)算,GCD計(jì)算,素性測(cè)試,素?cái)?shù)生成,位操作,和一些其他雜項(xiàng)業(yè)務(wù)操作。JavaAnnotation注解Annotation〔注解〕就是Java提供了一種元程序中的元素關(guān)聯(lián)任何信息和著任何元數(shù)據(jù)〔metadata〕的途徑和方法。Annotion(注解)是一個(gè)接口,程序可以通過(guò)反射來(lái)獲取指定程序元素的Annotion對(duì)象,然后通過(guò)Annotion對(duì)象來(lái)獲取注解里面的元數(shù)據(jù)。系統(tǒng)內(nèi)置標(biāo)準(zhǔn)注解:注解的語(yǔ)法比較簡(jiǎn)單,除了@符號(hào)的使用外,他根本與Java固有的語(yǔ)法一致,JavaSE中內(nèi)置三個(gè)標(biāo)準(zhǔn)注解,定義在java.lang中:
@Override:用于修飾此方法覆蓋了父類的方法;
@Deprecated:用于修飾已經(jīng)過(guò)時(shí)的方法;
@SuppressWarnnings:用于通知java編譯器禁止特定的編譯警告。JavaAnnotation@OverrideJavaAnnotation@DeprecatedJavaAnnotation@SuppressWarningsJavaAnnotation自定義注釋Java常用類ObjectObject類protectedObjectclone()booleanequals(Objectobj)inthashCode()StringtoString()Java常用類RandomRandom類中實(shí)現(xiàn)的隨機(jī)算法是偽隨機(jī),也就是有規(guī)那么的隨機(jī)。在進(jìn)行隨機(jī)時(shí),隨機(jī)算法的起源數(shù)字稱為種子數(shù)(seed),在種子數(shù)的根底上進(jìn)行一定的變換,從而產(chǎn)生需要的隨機(jī)數(shù)字。Math類里面也有個(gè)Random方法publicbooleannextBoolean()生成一個(gè)隨機(jī)的boolean值。publicdoublenextDouble()生成一個(gè)隨機(jī)的double值,數(shù)值介于[0,1.0)之間。publicintnextInt()生成一個(gè)隨機(jī)的int值,該值介于int的區(qū)間。publicintnextInt(intn)生成一個(gè)隨機(jī)的int值,該值介于[0,n)的區(qū)間。publicvoidsetSeed(longseed)重新設(shè)置Random對(duì)象中的種子數(shù)。JavaScanner鍵盤輸入類Scanner類;可以使用正那么表達(dá)式來(lái)解析根本類型和字符串的簡(jiǎn)單文本掃描器JavaBufferedReader字符串輸入類BufferedReader類:讀取一行數(shù)據(jù),字符串表示JavaSystem類System類代表系統(tǒng),系統(tǒng)級(jí)的很多屬性和控制方法都放置在該類的內(nèi)部。該類位于java.lang包System類內(nèi)部包含in、out和err三個(gè)成員變量
System類中提供了一些系統(tǒng)級(jí)的操作方法arraycopyexitgcgetPropertycurrentTimeMillisJavaRuntime類Runtime類封裝了運(yùn)行時(shí)的環(huán)境。每個(gè)Java應(yīng)用程序都有一個(gè)Runtime類實(shí)例,使應(yīng)用程序能夠與其運(yùn)行的環(huán)境相連接。一般不能實(shí)例化一個(gè)Runtime對(duì)象,應(yīng)用程序也不能創(chuàng)立自己的Runtime類實(shí)例,但可以通過(guò)getRuntime方法獲取當(dāng)前Runtime運(yùn)行時(shí)對(duì)象的引用。一旦得到了一個(gè)當(dāng)前的Runtime對(duì)象的引用,就可以調(diào)用Runtime對(duì)象的方法去控制Java虛擬機(jī)的狀態(tài)和行為。
小結(jié)Java集合包括哪些類,各自有什么用途?Vector和ArrayList的區(qū)別Scanner和BufferedRead類的區(qū)別為什么java里面除了定義Math類還要定義BigDecimal類實(shí)戰(zhàn)創(chuàng)立一個(gè)Student類,屬性:姓名、性別、年齡、學(xué)號(hào)、總成績(jī)。輸入一些數(shù)據(jù),使用Vecto
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)療行業(yè)廣告宣傳制作合同3篇
- 二零二五年度建筑業(yè)離崗創(chuàng)業(yè)合同2篇
- 課程設(shè)計(jì)寫什么
- 二零二五年地產(chǎn)廣告折頁(yè)創(chuàng)意設(shè)計(jì)、印刷與售后合同2篇
- 2025年演講稿保護(hù)環(huán)境范文(2篇)
- 二零二五年度新能源廣告牌匾安裝與節(jié)能服務(wù)合同3篇
- 2025年醫(yī)院控?zé)煿ぷ饔?jì)劃模版(4篇)
- 企業(yè)公司目標(biāo)管理制度范文(2篇)
- 消防專職干部職責(zé)模版(3篇)
- 2025年人教版選擇性必修2生物下冊(cè)階段測(cè)試試卷
- 呼吸內(nèi)科臨床診療指南及操作規(guī)范
- 學(xué)生管理教育課件
- 世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實(shí)務(wù)組”賽項(xiàng)參考試題及答案
- 高中歷史教師資格考試面試試題及解答參考(2024年)
- 銀行貸款房產(chǎn)抵押合同樣本
- 期末 試題 -2024-2025學(xué)年人教PEP版英語(yǔ)六年級(jí)上冊(cè) (含答案)
- 2024年傳媒公司總結(jié)及下半年規(guī)劃范文(2篇)
- 建設(shè)項(xiàng)目環(huán)境保護(hù)管理?xiàng)l例
- 消防控制室值班人員崗位職責(zé)-五項(xiàng)制度
- 鋼結(jié)構(gòu)安裝施工培訓(xùn)
- 兒童社區(qū)獲得性肺炎管理指南(2024修訂)
評(píng)論
0/150
提交評(píng)論