![JAVA培訓(xùn)(一)知識(shí)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/77886f5d-98bd-4051-bc58-b8da1a91d959/77886f5d-98bd-4051-bc58-b8da1a91d9591.gif)
![JAVA培訓(xùn)(一)知識(shí)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/77886f5d-98bd-4051-bc58-b8da1a91d959/77886f5d-98bd-4051-bc58-b8da1a91d9592.gif)
![JAVA培訓(xùn)(一)知識(shí)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/77886f5d-98bd-4051-bc58-b8da1a91d959/77886f5d-98bd-4051-bc58-b8da1a91d9593.gif)
![JAVA培訓(xùn)(一)知識(shí)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/77886f5d-98bd-4051-bc58-b8da1a91d959/77886f5d-98bd-4051-bc58-b8da1a91d9594.gif)
![JAVA培訓(xùn)(一)知識(shí)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/27/77886f5d-98bd-4051-bc58-b8da1a91d959/77886f5d-98bd-4051-bc58-b8da1a91d9595.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA培訓(xùn)(一)知識(shí)Java科園-顏詩(shī)超自我介紹架構(gòu)師、產(chǎn)品經(jīng)理東軟、Tieto、平安科技現(xiàn)在創(chuàng)業(yè)中(小豹科技)課程整體內(nèi)容1. 基礎(chǔ)java(面向?qū)ο?、語(yǔ)法、java基礎(chǔ)類庫(kù)、內(nèi)存管理) 2課時(shí)2. 高級(jí)java(多線程、socket、NIO、編程規(guī)范) 2課時(shí)3. java WEB開發(fā) (servlet、spring、spring mvc、mybatis、事務(wù)、quartz、前后端驗(yàn)證、poi、maven、jenkins等) 6課時(shí)4. java調(diào)優(yōu)與問(wèn)題診斷(調(diào)試、問(wèn)題定位、性能調(diào)優(yōu)) 2課時(shí)5. centos和tomcat服務(wù)器與高可用等 (java web應(yīng)用的部署環(huán)境centos
2、、tomcat等服務(wù)器及高可用環(huán)境haproxy、keepalived的使用) 2課時(shí)6. 基于java的架構(gòu)設(shè)計(jì)(針對(duì)示例項(xiàng)目的架構(gòu)設(shè)計(jì) -基于功能性需求、非功能需求做出適合此項(xiàng)目的架構(gòu)設(shè)計(jì)) 2課時(shí)1.語(yǔ)言基礎(chǔ)2.面向?qū)ο?.基礎(chǔ)類庫(kù)4.java的內(nèi)存管理1 語(yǔ)言基礎(chǔ)1 語(yǔ)言基礎(chǔ)本章是講述java語(yǔ)言的基礎(chǔ)語(yǔ)法。課程內(nèi)容:1.1 Java語(yǔ)言入門1.2 標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型1.3 運(yùn)算符,表達(dá)式和語(yǔ)句1.4 數(shù)組1.5 方法的封裝1.1.1 Java特點(diǎn)簡(jiǎn)單面向?qū)ο?與平臺(tái)無(wú)關(guān)健壯性(Java的強(qiáng)類型機(jī)制、異常處理、內(nèi)存的自動(dòng)收集等)1.1.2 Java程序開發(fā)基本過(guò)程Java編程基礎(chǔ)
3、Java的基本語(yǔ)法格式:所有的java程序都應(yīng)該寫在類中 class 類的修飾符:public和默認(rèn)修飾符public class MyFirstJavaApp public static void main(String args) System.out.println(“This is My First Java Application!”); 1.1.3 Java程序開發(fā)基本過(guò)程編譯Java程序Javac MyFirstJavaApp.java運(yùn)行Java程序Java MyFirstJavaApp 1.1.4 Java程序開發(fā)基本過(guò)程Java注釋單行注釋 /多行注釋 /* */文檔注釋
4、/* */1.1.5 開發(fā)工具Eclipse Intellij IDEA1.2 標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型1.2.1 標(biāo)識(shí)符1.2.2 關(guān)鍵字1.2.3 數(shù)據(jù)類型1.2.4 常量1.2.5 變量1.2.6 類型轉(zhuǎn)換1.2.1 標(biāo)識(shí)符標(biāo)識(shí)符命名規(guī)則定義:Java對(duì)各種變量,方法和類等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符規(guī)則:標(biāo)識(shí)符應(yīng)以字母,下劃線,美元符號(hào)開頭標(biāo)識(shí)符應(yīng)以字母,下劃線,美元符號(hào)或數(shù)字組成標(biāo)識(shí)符對(duì)大小寫敏感,長(zhǎng)度無(wú)限止合法的標(biāo)識(shí)符: Indentifier、username、user_name、_userName、$username非法的標(biāo)識(shí)符:class、98.3、Hello Worl
5、d 1.2.2 關(guān)鍵字abstractdoimplementprivatethisbooleandoubleimportprotectedthrowbreakelseinstanceof publicthrowsbyteextendintreturntransientcasefalseinterfaceshorttruecatchfinallongstatictrycharfianllynativestrictfpvoidclassfloatnewsupervolatilecontinuefornullswitchwhiledefaultif package synchronized注:jav
6、a 無(wú)sizeof ,goto, const 關(guān)鍵字,但不能用goto const作為變量名1.2.3 數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型類接口數(shù)組數(shù)值型字符型(char)布爾型(boolean)整數(shù)型(byte shortInt long)浮點(diǎn)型(float,double)1.2.4 常量常量:就是持續(xù)不變的值常量類型:整型常量:十進(jìn)制(12) ,十六進(jìn)制 (0 x12),八進(jìn)制(012)長(zhǎng)整型常量:13L浮點(diǎn)數(shù)常量: (1) 單精度浮點(diǎn)數(shù) 5.1f,.4f ,2e3f ,0f(2) 雙精度浮點(diǎn)數(shù) 5.1,.4,2e-3,0d布爾常量:true和false 1.2.4 常量字符常量 :
7、 a , 8, u0027 r表示接受鍵盤輸入,相當(dāng)于按下了回車鍵;n是換行;t是制表符,相當(dāng)于table鍵;b是退格鍵,相當(dāng)于Back Space;是單引號(hào),而“是雙引號(hào);是一個(gè)斜杠“”。字符串常量 :“Hello World“,”123”, Welcome nXXX“null常量 :null常量只有一個(gè)值,用null表示,表示對(duì)象的引用為空 1.2.5 變量變量概念變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù)。先聲明,再使用變量的元素 變量名,變量值,變量的作用范圍變量定義int x=0,y; y=x+3; x和y就是變量1.2.5 變量變量字節(jié)大小及有效取值范圍byte占
8、用一個(gè)字節(jié),數(shù)字大小為-2727-1short占用兩個(gè)字節(jié),數(shù)字大小為-215215-1 int占用四個(gè)字節(jié),數(shù)字大小為-231231-1 long占用八個(gè)字節(jié),數(shù)字大小為-263263-1 float占用四個(gè)字節(jié),數(shù)字大小為1.4E-453.4E+38 , -1.4E-45-3.4E+38 。用二進(jìn)制的指數(shù)形式表示一個(gè)浮點(diǎn)數(shù)的格式,如:101*22 , 101*2-3double占用八個(gè)字節(jié),數(shù)字大小為4.9E-3241.7E+308, -4.9E-324-1.7E+308 。char占兩個(gè)字節(jié),數(shù)字大小為0216-1,是unicode編碼。字符的本來(lái)面目,我們?yōu)槭裁纯梢灾苯訉⒁粋€(gè)數(shù)字賦給字
9、符變量。Boolean占一個(gè)字節(jié),有兩種取值,true和false。1.2.5 變量變量作用域變量要先定義,后使用,但不是在變量定義后的語(yǔ)句中一直都能使用前面定義的變量。比如:可以用大括號(hào)將多個(gè)語(yǔ)句包起來(lái)形成一個(gè)復(fù)合語(yǔ)句,則復(fù)合語(yǔ)句中定義的變量只能在定義它的復(fù)合語(yǔ)句中使用。局部變量在方法或方法中的代碼塊中定義的變量稱為局部變量成員變量在方法外,在類內(nèi)部定義的變量1.2.5 變量局部變量的定義在方法或方法中的代碼塊中定義的變量稱為局部變量,局部變量在方法或代碼塊被執(zhí)行時(shí)創(chuàng)建,在方法或代碼塊結(jié)束時(shí)被銷毀。局部變量的初始化局部變量在進(jìn)行取值操作前必須被初始化,否則會(huì)出現(xiàn)編譯錯(cuò)誤1.2.6 類型轉(zhuǎn)換自
10、動(dòng)類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換)byte b = 3;int x = b; /b被自動(dòng)轉(zhuǎn)換為int型強(qiáng)制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換) byte a; int b; a = (byte)b; /b被強(qiáng)制轉(zhuǎn)換為byte型 1.3 運(yùn)算符,表達(dá)式和語(yǔ)句1.3.1 運(yùn)算符1.3.2 表達(dá)式1.3.3 控制語(yǔ)句1.3.1 運(yùn)算符何為運(yùn)算符運(yùn)算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較,一般由一至三個(gè)字符組成 。運(yùn)算符類型算術(shù)運(yùn)算符賦值運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符位運(yùn)算符移位運(yùn)算符1.3.1 運(yùn)算符1.3.1 運(yùn)算符算術(shù)運(yùn)算符的注意問(wèn)題“+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串 ,如: “x”
11、+123;的結(jié)果是“x123” 。 如果對(duì)負(fù)數(shù)取模,可以把模數(shù)負(fù)號(hào)忽略不記,如:5%-2=1。但被模數(shù)是負(fù)數(shù)就另當(dāng)別論了。對(duì)于除號(hào)“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí),只保留整數(shù)部分而舍棄小數(shù)部分。 int x=3510;x=x/1000*1000;實(shí)際運(yùn)行結(jié)果是3000 ,想想為什么? 1.3.1 運(yùn)算符賦值運(yùn)算符1.3.1 運(yùn)算符賦值運(yùn)算符注意:注1:在JAVA里可以把賦值語(yǔ)句連在一起,如: x = y = z = 5 ; 在這個(gè)語(yǔ)句中,所有三個(gè)變量都得到同樣的值5。注2 :x += 3等效于x = x + 3,等于*= ,-=,/=依此類推。1.3.1 運(yùn)算符比較運(yùn)算符
12、1.3.1 運(yùn)算符比較運(yùn)算符注意:注1:比較運(yùn)算符的結(jié)果都是boolean型,也就是要么是true,要么是false。注2:比較運(yùn)算符“=”不能誤寫成“=” 1.3.1 運(yùn)算符邏輯運(yùn)算符1.3.1 運(yùn)算符邏輯運(yùn)算符注意點(diǎn)注1:邏輯運(yùn)算符用于對(duì)boolean型結(jié)果的表達(dá)式進(jìn)行運(yùn)算,運(yùn)算的結(jié)果都是boolean型 。注2:“&”和“&”的區(qū)別在于,如果使用前者連接,那么無(wú)論任何情況,“&”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用后者連接,當(dāng)“&”的左邊為false,則將不會(huì)計(jì)算其右邊的表達(dá)式。“|”和“|”的區(qū)別與“&”和“&”的區(qū)別一樣。1.3.1 運(yùn)算
13、符位運(yùn)算符任何信息在計(jì)算機(jī)中都是以二進(jìn)制的形式保存的,&,|,除了可以作為邏輯運(yùn)算符,也可以做為位算符,它們對(duì)兩個(gè)操作數(shù)中的每一個(gè)二進(jìn)制位都進(jìn)行運(yùn)算。只有參加運(yùn)算的兩位都為1,&運(yùn)算的結(jié)果才為1,否則就為0。只有參加運(yùn)算的兩位都為0,|運(yùn)算的結(jié)果才為0,否則就為1。只有參加運(yùn)算的兩位不同,運(yùn)算的結(jié)果才為1,否則就為0。1.3.1 運(yùn)算符移位運(yùn)算符 右移 無(wú)符號(hào)右移1.3.1 運(yùn)算符移位運(yùn)算的注意事項(xiàng)及小技巧移位運(yùn)算符適用類型有byte、short、char、int、long對(duì)低于int型的操作數(shù)將先自動(dòng)轉(zhuǎn)換為int型再移位。對(duì)于int型整數(shù)移位ab,系統(tǒng)先將b對(duì)32取模,得到的
14、結(jié)果才是真正移位的位數(shù)。例如:a33和a1結(jié)果是一樣的,a32的結(jié)果還是a原來(lái)的數(shù)字。對(duì)于long型整數(shù)移位時(shí)ab ,則是先將移位位數(shù)b對(duì)64取模。移位不會(huì)改變變量本身的值。如a1;在一行語(yǔ)句中單獨(dú)存在,毫無(wú)意義 。x1的結(jié)果和x/2的結(jié)果是一樣的,x2和x*4的結(jié)果也是一樣的。總之,一個(gè)數(shù)左移n位,就是等于這個(gè)數(shù)乘以2的n次方,一個(gè)數(shù)右移n位,就是等于這個(gè)數(shù)除以2的n次方。請(qǐng)思考:如何用程序?qū)崿F(xiàn)求2的x次方。答案:y = 110&b10表達(dá)式的運(yùn)算順序先按照運(yùn)算符的優(yōu)先級(jí)優(yōu)先級(jí)相同的,按照約定的結(jié)合方向表達(dá)值的值和類型控制語(yǔ)句條件控制語(yǔ)句循環(huán)控制語(yǔ)句特殊的循環(huán)流程控制控制語(yǔ)句條件控制
15、語(yǔ)句If else 語(yǔ)句的語(yǔ)法:If(布爾表達(dá)式)語(yǔ)句或語(yǔ)句塊If(布爾表達(dá)式)語(yǔ)句或語(yǔ)句塊else if(布爾表達(dá)式)語(yǔ)句或語(yǔ)句塊else語(yǔ)句或語(yǔ)句塊控制語(yǔ)句switch語(yǔ)句的語(yǔ)法switch(表達(dá)式1)case 常量1:語(yǔ)句break;case 常量2:語(yǔ)句break;default:語(yǔ)句break;控制語(yǔ)句switch選擇語(yǔ)句:switch(x)/x只能為int、byte、char、shortcase 1:System.out.println(“Monday”);break;case 2:System.out.println(“Tuesday”);break;case 3:System.
16、out.println(“Wednesday”);break;default:System.out.println(“I dont know”);思考:無(wú)break的情況控制語(yǔ)句for循環(huán)語(yǔ)句for(初始化表達(dá)式;布爾值測(cè)試表達(dá)式;更改表達(dá)式)語(yǔ)句或語(yǔ)句塊;例:for(int i=0;i= 0) size = newSize; public int getSize三三 return size; Spot對(duì)象實(shí)例private Spot spot = null; . spot = new Spot三三; spot.setSite(1);示例中的繼承和接口public class ClickMe
17、extends JComponent implements MouseListener . public class ClickMe extends JComponent implements MouseListener . /Methods required by the MouseListener interface. public void mousePressed(MouseEvent event) if (spot = null) spot = new Spot三三; spot.setSize(RADIUS); spot.x = event.getX三三; spot.y = even
18、t.getY三三; repaint三三; public void mouseClicked(MouseEvent event) public void mouseReleased(MouseEvent event) public void mouseEntered(MouseEvent event) public void mouseExited(MouseEvent event) 多態(tài)TestPolymoph/Test.java多態(tài)是指在執(zhí)行期間(而非編譯期)判斷所引用對(duì)象的實(shí)際類型,根據(jù)其實(shí)際的類型調(diào)用其相應(yīng)的方法。上面例子中,根據(jù)Lady對(duì)象的成員變量Pet所引用的不同的實(shí)際類型而調(diào)用相
19、應(yīng)的enjoy方法。class Bird extends Animalprivate String featherColor;Bird(String n,String f) super(n); this.featherColor = f; public void enjoy三System.out.println(鳥叫聲.);public class Test public static void main(String args) Bird b = new Bird(“birdname”,”green”); Lady l3 = new Lady(l3,b); l3.myPetEnjoy三; 1
20、.要有繼承2.要有重寫3.父類引用指向子類對(duì)象3 重點(diǎn)類庫(kù)為什么java很流行?豐富的類庫(kù)是很重要的因素。java常用的包介紹常用的包介紹java.lang java的核心類基本類,如:String,Integer,System,Runtime等。 java.io 輸入輸出的類 網(wǎng)絡(luò)連接相關(guān)的類java.nio jdk1.4后出現(xiàn)的新的io包,更高的效率。 java.utiljava.util 一些工具類,如數(shù)據(jù)結(jié)構(gòu)相關(guān)的類。一些工具類,如數(shù)據(jù)結(jié)構(gòu)相關(guān)的類。 反射相關(guān)的類。 java.securityjava.security 安全相關(guān)的類。安全相關(guān)的類。更多請(qǐng)參考更多請(qǐng)參考jdk 文檔。文檔
21、。字符和字符串Java APIJava API提供提供了四個(gè)了四個(gè)處理字符數(shù)據(jù)的類:處理字符數(shù)據(jù)的類:CharacterCharacter:這個(gè)類的實(shí)例可以容納單一:這個(gè)類的實(shí)例可以容納單一的字符數(shù)值。該類還定義了一些簡(jiǎn)潔的方的字符數(shù)值。該類還定義了一些簡(jiǎn)潔的方法來(lái)操作或者檢查單一字符數(shù)據(jù)。法來(lái)操作或者檢查單一字符數(shù)據(jù)。 StringString:這個(gè)類用于處理由多個(gè)字符組成:這個(gè)類用于處理由多個(gè)字符組成的不可變數(shù)據(jù)。的不可變數(shù)據(jù)。 StringBufferStringBuffer:這個(gè)類用于存儲(chǔ)和操作由:這個(gè)類用于存儲(chǔ)和操作由多個(gè)字符組成的可變數(shù)據(jù)多個(gè)字符組成的可變數(shù)據(jù)。線程安全。線程安全。
22、StringBuilder StringBuilder 非線程安全的非線程安全的StringBufferStringBuffer,效率更高效率更高 異常類異常類 在Java中,將異常情況分為Exception(異常)和Error(錯(cuò)誤)兩大類。 Error 類對(duì)象由 Java 虛擬機(jī)生成并拋出;Exception 類對(duì)象由應(yīng)用程序處理或拋出。ObjectThrowableExceptionError 異常類的繼承結(jié)構(gòu)checked異常與unchecked異常RuntimeExceptionRuntimeException類及其子類被稱為類及其子類被稱為“運(yùn)行運(yùn)行時(shí)異常時(shí)異常”一般發(fā)生在一般發(fā)生
23、在JREJRE內(nèi)部?jī)?nèi)部也稱也稱“非必檢異常非必檢異?!比缛鏝ullPointerExceptionNullPointerException其他異常被成為其他異常被成為“非運(yùn)行時(shí)異常非運(yùn)行時(shí)異?!币话惆l(fā)生在一般發(fā)生在JREJRE外部外部也稱也稱“必檢異常必檢異?!比缛鏘OExceptionIOException異常處理的一般步驟異常拋出異常拋出異常捕獲異常捕獲異常異常處理處理trytry 拋出異常的代碼拋出異常的代碼 catch ( catch (某某ExceptionException類型類型 e) e) 處理該異常類型的代碼處理該異常類型的代碼 catch ( catch (某某Except
24、ionException類型類型 e) e) 處理該異常類型的代碼處理該異常類型的代碼 finallyfinally Io包Reader與Writer類Reader類的相關(guān)方法:類的相關(guān)方法:void close三三void mark(int readAheadLimit)boolean markSupported三三int read三三 int read(char cbuf) int read(char cbuf, int off, int len) boolean ready三三 void reset三三 long skip(long n) Writer類的相關(guān)方法:類的相關(guān)方法:void
25、 close三三 void flush三三 void write(char cbuf) void write(char cbuf, int off, int len) void write(int c) void write(String str) void write(String str, int off, int len) 流的使用(1)I/O類型類型流流作用作用內(nèi)存CharArrayReaderCharArrayWriterByteArrayInputStreamByteArrayOutputStream用來(lái)從內(nèi)存讀取數(shù)據(jù)或向內(nèi)存寫入數(shù)據(jù)StringReaderStringWriter
26、StringBufferInputStream從內(nèi)存里的某個(gè)String或StringBuffer讀字符或字節(jié)管道PipedReaderPipedWriterPipedInputStreamPipedOutputStream實(shí)現(xiàn)一個(gè)輸入、輸出管道。管道可用于一個(gè)線程的輸出連接到另一個(gè)線程的輸入流的使用(2)文件文件FileReaderFileWriterFileInputStreamFileOutputStream用于對(duì)本機(jī)文件系統(tǒng)上的一個(gè)用于對(duì)本機(jī)文件系統(tǒng)上的一個(gè)件行讀寫件行讀寫對(duì)象串行化對(duì)象串行化ObjectInputStreamObjectOutputStream將對(duì)象串行化將對(duì)象串行化
27、打印打印PrintWriterPrintStream包含便捷的打印方法的流。包含便捷的打印方法的流。流的使用(3)緩沖緩沖BufferedReaderBufferedWriterBufferedInputStreamBufferedOutputStream緩沖流,用于在讀寫時(shí)進(jìn)行數(shù)據(jù)緩沖緩沖流,用于在讀寫時(shí)進(jìn)行數(shù)據(jù)緩沖過(guò)濾過(guò)濾FilterReaderFilterWriterFilterInputStreamFilterOutputStream過(guò)濾流的抽象類接口。數(shù)據(jù)讀寫時(shí)對(duì)過(guò)濾流的抽象類接口。數(shù)據(jù)讀寫時(shí)對(duì)數(shù)據(jù)進(jìn)行過(guò)濾數(shù)據(jù)進(jìn)行過(guò)濾在字節(jié)和在字節(jié)和字符之間字符之間轉(zhuǎn)換轉(zhuǎn)換InputStreamRe
28、aderOutputStreamWriter字節(jié)流和字符類間的轉(zhuǎn)換橋梁字節(jié)流和字符類間的轉(zhuǎn)換橋梁Serializable接口 并非所有對(duì)象都是可串行化的,如果要對(duì)某并非所有對(duì)象都是可串行化的,如果要對(duì)某對(duì)象進(jìn)行串行化,該對(duì)象的類必須實(shí)現(xiàn)對(duì)象進(jìn)行串行化,該對(duì)象的類必須實(shí)現(xiàn)SerializableSerializable接口接口 SerializableSerializable接口是一個(gè)空接口,也就是說(shuō),接口是一個(gè)空接口,也就是說(shuō),它不包含任何方法的聲明,該接口的作用只它不包含任何方法的聲明,該接口的作用只是表明這個(gè)類的對(duì)象可以被串行化是表明這個(gè)類的對(duì)象可以被串行化 數(shù)據(jù)結(jié)構(gòu)類集合框架中的接口Co
29、llection:集合層次中的根接口,JDK沒(méi)有提供這個(gè)接口直接的實(shí)現(xiàn)類。Set:不能包含重復(fù)的元素。SortedSet是一個(gè)按照升序排列元素的Set。List:是一個(gè)有序的集合,可以包含重復(fù)的元素。提供了按索引訪問(wèn)的方式。Map:包含了key-value對(duì)。Map不能包含重復(fù)的key。SortedMap是一個(gè)按照升序排列key的Map。集合框架中的實(shí)現(xiàn)類SortedSetSortedSetSetSetListListMapMapHashSetHashSet LinkedHashSetLinkedHashSet TreeSetTreeSet ArrayListArrayList LinkedL
30、istLinkedList SortedMapSortedMapHashMapHashMap TreeMapTreeMap ArrayListArrayList:我們可以將其看作是能夠自動(dòng)增長(zhǎng)容量的數(shù)組。ArrayList向ArrayList對(duì)象中添加任何對(duì)象使用size三方法打印所有對(duì)象直接輸出一個(gè)ArrayList對(duì)象 自定義類應(yīng)該重寫toString三方法以便輸出時(shí)被自動(dòng)調(diào)用使用toArray三方法轉(zhuǎn)換為對(duì)象數(shù)組使用Arrays.asList(Object o)返回一個(gè)列表 返回的列表的大小固定,不能添加元素,可以使用set三方法修改節(jié)點(diǎn)的元素,否則會(huì)拋出不支持的操作異常(Unsuppo
31、rtedOperationException ) 。ArrayList迭代器(Iterator) 給我們提供了一種通用的方式來(lái)訪問(wèn)集合中的元素。 remove三方法是一個(gè)可選的操作,實(shí)現(xiàn)Iterator接口可以選擇實(shí)現(xiàn)該方法,或做空實(shí)現(xiàn)并拋出不支持的操作異常(UnsupportedOperationException ),類庫(kù)采用這種方式避免產(chǎn)生太多的接口,否則會(huì)增加學(xué)習(xí)的難度。迭代器的工作原理返回的元素刪除的元素next三remove三next三Collections類排序:Collections.sort三(1)自然排序(natural ordering );(2)實(shí)現(xiàn)比較器(Compar
32、ator)接口。取最大和最小的元素:Collections.max三、Collections.min三。在已排序的List中搜索指定的元素:Collectons.binarySearch三。LinkedListLinkedList是采用雙向循環(huán)鏈表實(shí)現(xiàn)的。利用LinkedList實(shí)現(xiàn)棧(stack)、隊(duì)列(queue)、雙向隊(duì)列(double-ended queue )。數(shù)據(jù)結(jié)構(gòu)一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu)。線性數(shù)據(jù)結(jié)構(gòu)有線性表、棧、隊(duì)列、串、數(shù)組和文件;非線性數(shù)據(jù)結(jié)構(gòu)有樹和圖。棧棧(Stack)也是一種特殊的線性表,是一種后進(jìn)先出(LIFO)的結(jié)構(gòu)。棧是限定僅在表尾進(jìn)行插入和刪除運(yùn)算的線性表,表尾稱為
溫馨提示
- 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年全球及中國(guó)氯雷他定片行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球工商用管道除濕機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)劃線輪(描線輪)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球PTFE化學(xué)鍍鎳行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)汽車超高頻天線行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)多托盤貨叉行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車行業(yè)用生物基聚酰胺行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)樹木介紹牌行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球醫(yī)美用A型肉毒毒素行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- IDC機(jī)柜租賃服務(wù)合同
- 2025-2030年中國(guó)納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報(bào)告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計(jì)劃樣本(四篇)
- 【7歷期末】安徽省宣城市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
- 電力電纜工程施工組織設(shè)計(jì)
- 2024年網(wǎng)格員考試題庫(kù)完美版
- 《建筑與市政工程防水規(guī)范》解讀
評(píng)論
0/150
提交評(píng)論