Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第1頁(yè)
Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第2頁(yè)
Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第3頁(yè)
Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第4頁(yè)
Java程序設(shè)計(jì)與Android應(yīng)用開(kāi)發(fā)4_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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)介

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

評(píng)論

0/150

提交評(píng)論