![Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第1頁(yè)](http://file4.renrendoc.com/view11/M00/00/2C/wKhkGWXzfq2AMSrDAAEKrw9TuGk131.jpg)
![Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第2頁(yè)](http://file4.renrendoc.com/view11/M00/00/2C/wKhkGWXzfq2AMSrDAAEKrw9TuGk1312.jpg)
![Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第3頁(yè)](http://file4.renrendoc.com/view11/M00/00/2C/wKhkGWXzfq2AMSrDAAEKrw9TuGk1313.jpg)
![Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第4頁(yè)](http://file4.renrendoc.com/view11/M00/00/2C/wKhkGWXzfq2AMSrDAAEKrw9TuGk1314.jpg)
![Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第5頁(yè)](http://file4.renrendoc.com/view11/M00/00/2C/wKhkGWXzfq2AMSrDAAEKrw9TuGk1315.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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集合與工具類(lèi)Util類(lèi)日期操作Arrays類(lèi)Math類(lèi)Java集合常用數(shù)據(jù)結(jié)構(gòu)線(xiàn)性表、鏈表等Collection是最根本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素〔Elements〕。JavaSDK不提供直接繼承自Collection的類(lèi),JavaSDK提供的類(lèi)都是繼承自Collection的“子接口”如List和SetJava集合所有實(shí)現(xiàn)Collection接口的類(lèi)都必須提供兩個(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ù)允許用戶(hù)復(fù)制一個(gè)Collection。如何遍歷Collection中的每一個(gè)元素?不管Collection的實(shí)際類(lèi)型如何,它都支持一個(gè)iterator()的方法,該方法返回一個(gè)迭代子,使用該迭代子即可逐一訪(fǎng)問(wèn)Collection中每一個(gè)元素。典型的用法如下:Iteratorit=collection.iterator();//獲得一個(gè)迭代子while(it.hasNext()){Objectobj=it.next();//得到下一個(gè)元素}由Collection接口派生的兩個(gè)接口是List和Set。Java集合
List接口及其實(shí)現(xiàn)類(lèi)是容量可變的列表,可按索引訪(fǎng)問(wèn)集合中的元素。
特點(diǎn):集合中的元素有序、可重復(fù);
列表在數(shù)據(jù)結(jié)構(gòu)中分別表現(xiàn)為:數(shù)組和向量、鏈表、堆棧、隊(duì)列。ArrayList
實(shí)現(xiàn)一個(gè)數(shù)組,它的規(guī)??勺儾⑶夷芟矜湵硪粯颖辉L(fǎng)問(wèn)。它提供的功能類(lèi)似Vector類(lèi)但不同步,它是以Array方式實(shí)現(xiàn)的List,允許快速隨機(jī)存取。
LinkedList實(shí)現(xiàn)一個(gè)鏈表,提供最正確順序存取,適合插入和移除元素。由這個(gè)類(lèi)定義的鏈表也可以像棧或隊(duì)列一樣被使用。提供最正確順序存取,適合插入和移除元素。Set接口:集合中的元素不按特定方式排序,只是簡(jiǎn)單的把對(duì)象參加集合中,就像往口袋里放東西。對(duì)Set中成員的訪(fǎng)問(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ī)訪(fǎng)問(wèn)功能。Vector實(shí)現(xiàn)了Cloneable接口,即實(shí)現(xiàn)clone()函數(shù)。它能被克隆和ArrayList不同,Vector中的操作是線(xiàn)程平安的。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類(lèi):當(dāng)前日期java.utilCalendar類(lèi):復(fù)雜的日期計(jì)算java.utilSimpleDateFormat類(lèi):格式化顯示日期類(lèi)java.textJavaArrays類(lèi)JAVA中的Arrays類(lèi)是一個(gè)實(shí)現(xiàn)對(duì)數(shù)組操作的工具類(lèi),包括了各種各樣的靜態(tài)方法,可以實(shí)現(xiàn)數(shù)組的排序和查找、數(shù)組的比較和對(duì)數(shù)組增加元素,數(shù)組的復(fù)制和將數(shù)組轉(zhuǎn)換成字符串等功能。這些方法都有對(duì)所有根本類(lèi)型的重載方法。JavaArrays類(lèi)數(shù)組填充數(shù)組比較數(shù)組復(fù)制JavaMath類(lèi)類(lèi)位于Java.lang包中,包含用于執(zhí)行根本數(shù)學(xué)運(yùn)算的方法!Math類(lèi)的所有執(zhí)行方法都是靜態(tài)方法,可以直接使用類(lèi)名.方法名調(diào)用,如:Math.round()JavaMath類(lèi)java.math.BigInteger
類(lèi)提供操作類(lèi)似所有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:用于修飾此方法覆蓋了父類(lèi)的方法;
@Deprecated:用于修飾已經(jīng)過(guò)時(shí)的方法;
@SuppressWarnnings:用于通知java編譯器禁止特定的編譯警告。JavaAnnotation@OverrideJavaAnnotation@DeprecatedJavaAnnotation@SuppressWarningsJavaAnnotation自定義注釋Java常用類(lèi)ObjectObject類(lèi)protectedObjectclone()booleanequals(Objectobj)inthashCode()StringtoString()Java常用類(lèi)RandomRandom類(lèi)中實(shí)現(xiàn)的隨機(jī)算法是偽隨機(jī),也就是有規(guī)那么的隨機(jī)。在進(jìn)行隨機(jī)時(shí),隨機(jī)算法的起源數(shù)字稱(chēng)為種子數(shù)(seed),在種子數(shù)的根底上進(jìn)行一定的變換,從而產(chǎn)生需要的隨機(jī)數(shù)字。Math類(lèi)里面也有個(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鍵盤(pán)輸入類(lèi)Scanner類(lèi);可以使用正那么表達(dá)式來(lái)解析根本類(lèi)型和字符串的簡(jiǎn)單文本掃描器JavaBufferedReader字符串輸入類(lèi)BufferedReader類(lèi):讀取一行數(shù)據(jù),字符串表示JavaSystem類(lèi)System類(lèi)代表系統(tǒng),系統(tǒng)級(jí)的很多屬性和控制方法都放置在該類(lèi)的內(nèi)部。該類(lèi)位于java.lang包System類(lèi)內(nèi)部包含in、out和err三個(gè)成員變量
System類(lèi)中提供了一些系統(tǒng)級(jí)的操作方法arraycopyexitgcgetPropertycurrentTimeMillisJavaRuntime類(lèi)Runtime類(lèi)封裝了運(yùn)行時(shí)的環(huán)境。每個(gè)Java應(yīng)用程序都有一個(gè)Runtime類(lèi)實(shí)例,使應(yīng)用程序能夠與其運(yùn)行的環(huán)境相連接。一般不能實(shí)例化一個(gè)Runtime對(duì)象,應(yīng)用程序也不能創(chuàng)立自己的Runtime類(lèi)實(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集合包括哪些類(lèi),各自有什么用途?Vector和ArrayList的區(qū)別Scanner和BufferedRead類(lèi)的區(qū)別為什么java里面除了定義Math類(lèi)還要定義BigDecimal類(lèi)實(shí)戰(zhàn)創(chuàng)立一個(gè)Student類(lèi),屬性:姓名、性別、年齡、學(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)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人綜合授信貸款合同范文
- 個(gè)人房屋租賃合同樣本范本
- 個(gè)人房產(chǎn)轉(zhuǎn)讓合同樣本修訂版
- 中小學(xué)教師工資集體合同范本
- 業(yè)務(wù)員委托合同范本
- 個(gè)人小額信貸合同樣本
- 個(gè)人設(shè)備租賃標(biāo)準(zhǔn)合同
- 個(gè)人車(chē)輛保險(xiǎn)合同標(biāo)準(zhǔn)模板
- 個(gè)人友情借款合同樣本
- 個(gè)人合伙投資合同格式范本
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 頸復(fù)康腰痛寧產(chǎn)品知識(shí)課件
- 2024年低壓電工證理論考試題庫(kù)及答案
- 微電網(wǎng)市場(chǎng)調(diào)查研究報(bào)告
- 《民航服務(wù)溝通技巧》教案第14課民航服務(wù)人員上行溝通的技巧
- MT/T 538-1996煤鉆桿
- 小學(xué)六年級(jí)語(yǔ)文閱讀理解100篇(及答案)
- CB/T 467-1995法蘭青銅閘閥
- 氣功修煉十奧妙
- 勾股定理的歷史與證明課件
- 中醫(yī)診斷學(xué)八綱辨證課件
評(píng)論
0/150
提交評(píng)論