java程序設(shè)計(jì)任務(wù)式教程 課件 5-面向?qū)ο缶幊踢M(jìn)階_第1頁(yè)
java程序設(shè)計(jì)任務(wù)式教程 課件 5-面向?qū)ο缶幊踢M(jìn)階_第2頁(yè)
java程序設(shè)計(jì)任務(wù)式教程 課件 5-面向?qū)ο缶幊踢M(jìn)階_第3頁(yè)
java程序設(shè)計(jì)任務(wù)式教程 課件 5-面向?qū)ο缶幊踢M(jìn)階_第4頁(yè)
java程序設(shè)計(jì)任務(wù)式教程 課件 5-面向?qū)ο缶幊踢M(jìn)階_第5頁(yè)
已閱讀5頁(yè),還剩112頁(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)介

JaVa程序設(shè)計(jì)任務(wù)式教程01任務(wù)5-1樂自助餐飲訂單02任務(wù)5-2樂自助食材備貨03任務(wù)5-3增強(qiáng)型文件記事本目錄CONTNETS單元五面向?qū)ο缶幊踢M(jìn)階單元目標(biāo)能夠使用集合類存儲(chǔ)和操作數(shù)據(jù),例如添加、刪除、查找、遍歷等。能夠使用迭代器遍歷集合元素。能夠使用foreach循環(huán)遍歷集合、枚舉。能夠使用泛型定義和使用集合類,提高代碼的可讀性和安全性。能夠熟練使用集合框架進(jìn)行數(shù)據(jù)組織和管理,包括列表、集合和映射。能夠使用IO流進(jìn)行基本的文件操作,如讀取、寫入和文件管理。培養(yǎng)良好的編程習(xí)慣,能夠根據(jù)實(shí)際需求選擇合適的集合類。發(fā)展邏輯思維和問題解決能力,提高代碼的效率和可讀性。培養(yǎng)數(shù)據(jù)安全意識(shí),增強(qiáng)代碼的安全性,避免類型錯(cuò)誤。知識(shí)目標(biāo)能力目標(biāo)素養(yǎng)目標(biāo)學(xué)習(xí)目標(biāo)熟悉JavaAPI中常用類的功能StringBuffe、Math、Random等。掌握包裝類的使用方法。理解并掌握集合、泛型、枚舉類的使用方法理解Lambda表達(dá)式并能夠使用Lambda表達(dá)式簡(jiǎn)化代碼。掌握IO流操作文件的使用方法01任務(wù)5-1樂自助餐飲訂單包裝類String類、StringBuffer和StringBuilder類日期時(shí)間類Math類和Random類Lambda表達(dá)式任務(wù)5-1樂自助餐飲訂單-Java常用API包裝類在Java中“一切皆對(duì)象”,很多方法都需要引用類型的對(duì)象,但是8種基本數(shù)據(jù)類型卻不是面向?qū)ο蟮?,這在實(shí)際使用時(shí)會(huì)存在很多的不便,Java中8種基本數(shù)據(jù)類型存在其對(duì)應(yīng)類的類型,也就是把基本數(shù)據(jù)類型包裝成類?;绢愋蛯?duì)應(yīng)的包裝類如表基本數(shù)據(jù)類型包裝類intIntegercharCharacterfloatFloatdoubleDoublebyteBytelongLongshortShortbooleanBoolean列舉的8種基本數(shù)據(jù)類型及其對(duì)應(yīng)的包裝類。除了Integer和Character類外,其他對(duì)應(yīng)的包裝類的名稱都與其基本數(shù)據(jù)類型一致,只不過首字母需要大寫任務(wù)5-1樂自助餐飲訂單-Java常用API包裝類在包裝類和基本數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換時(shí),需引入了自動(dòng)裝箱(Autoboxing)和自動(dòng)拆箱(AutoUnboxing)的概念,其中自動(dòng)裝箱是指將基本數(shù)據(jù)類型的變量賦給對(duì)應(yīng)的包裝類變量;反之,拆箱是指將包裝類對(duì)象類型直接賦給一個(gè)對(duì)應(yīng)的基本數(shù)據(jù)類型變量任務(wù)5-1樂自助餐飲訂單-Java常用API包裝類如例5-1,以Integer和Character包裝類,演示裝箱、拆箱操作,詳見AutoboxingUnboxingDemo.java1publicclassAutoboxingUnboxingDemo{2 publicstaticvoidmain(String[]args){3 //自動(dòng)裝箱示例-基本類型轉(zhuǎn)換為包裝類對(duì)象4 IntegerintObject=100;//int被自動(dòng)裝箱為IntegerCharactercharObject='A';//char被自動(dòng)裝箱為Character6 //輸出裝箱后的對(duì)象7 System.out.println("Integer對(duì)象:"+intObject);8 System.out.println("Character對(duì)象:"+charObject);9 //自動(dòng)拆箱示例-包裝類對(duì)象轉(zhuǎn)換為基本類型10 intintPrimitive=intObject;//Integer被自動(dòng)拆箱為intcharcharPrimitive=charObject;//Character被自動(dòng)拆箱為char12 //輸出拆箱后的基本類型13 System.out.println("int基本類型:"+intPrimitive);14 System.out.println("char基本類型:"+charPrimitive);15 IntegernullInteger=null;16 //null處理,拋出NullPointerException17 if(nullInteger!=null){18 intsafeIntPrimitive=nullIValue();System.out.println("安全的int基本類型:"+safeIntPrimitive);20 }else{System.out.println("Integer對(duì)象是null,

無(wú)法拆箱");22 }23 }24}任務(wù)5-1樂自助餐飲訂單-Java常用API包裝類在上面的代碼中,首先演示了自動(dòng)裝箱,將基本類型的int和char值分別賦值給Integer和Character類型的變量,編譯器會(huì)自動(dòng)進(jìn)行裝箱操作。接著,演示了自動(dòng)拆箱,將Integer和Character類型的對(duì)象賦值給基本類型的變量,編譯器會(huì)自動(dòng)進(jìn)行拆箱操作。值得注意的是,如果包裝類對(duì)象是null,直接進(jìn)行拆箱將會(huì)拋出NullPointerException。為了避免這個(gè)問題,在進(jìn)行拆箱前應(yīng)該檢查對(duì)象是否為null。然后進(jìn)行拆箱處理。裝箱拆箱操作的運(yùn)行結(jié)果任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類String、StringBuffer和StringBuilder是用于處理字符串的三個(gè)主要類。String用于表示不可變的字符序列,一旦創(chuàng)建,字符串的內(nèi)容就不能改變;StringBuffer、StringBuilder類用于表示可變的字符序列,字符串的內(nèi)容可以在運(yùn)行時(shí)改變。任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類String是字符串常量類,在使用String類時(shí),首先需要對(duì)String類進(jìn)行初始化操作,可過以下兩種方式對(duì)String類進(jìn)行初始化,具體如下:1、使用字符串常量直接初始化一個(gè)String對(duì)象,具體代碼如下:Stringstr="isstring";這種方法創(chuàng)建字符串對(duì)象時(shí),不一定分配內(nèi)存,如果內(nèi)存中已經(jīng)存在常量“isstring”,則str直接引用即可,不存在時(shí)才創(chuàng)建。任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類String是字符串常量類,在使用String類時(shí),首先需要對(duì)String類進(jìn)行初始化操作,可過以下兩種方式對(duì)String類進(jìn)行初始化,具體如下:2、使用String的構(gòu)造方法初始化字符串對(duì)象,String類的構(gòu)造方法如表方法聲明功能描述String()創(chuàng)建一個(gè)內(nèi)容為空的字符串對(duì)象String(Stringvalue)根據(jù)指定的字符串內(nèi)容創(chuàng)建對(duì)象String(char[]value)根據(jù)指定的字符數(shù)組創(chuàng)建對(duì)象String(char[]intstartIndex,intnumChars)根據(jù)指定的字符數(shù)組,以字符串?dāng)?shù)組中startIndex位置開始的numChars個(gè)字符,創(chuàng)建對(duì)象String(byte[]bytes)根據(jù)指定的字節(jié)數(shù)組創(chuàng)建對(duì)象String(byte[]bytes,intoffset,intlength)根據(jù)指定的字節(jié)數(shù)組,以字節(jié)數(shù)組offset位置開始的length個(gè)字節(jié),創(chuàng)建對(duì)象任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類如例5-2,通過一個(gè)案例來(lái)學(xué)習(xí)String類的使用,詳見StringDemo.java……4//直接賦值5Stringstr1="Hello,World!";6System.out.println("直接賦值:"+str1);7//使用字符串變量賦值8Stringstr2=newString("Hello,World!");9System.out.println("字符串變量賦值:"+str2);10//使用字符數(shù)組賦值11char[]charArray={'H','e','l','l','o',',','','W','o','r','l','d','!'};12Stringstr3=newString(charArray);13System.out.println("字符數(shù)組賦值:"+str3);14//使用字符數(shù)組的一部分賦值15Stringstr4=newString(charArray,0,5);16System.out.println("字符數(shù)組的一部分賦值:"+str4);17//使用字節(jié)數(shù)組賦值18byte[]byteArray={72,101,108,108,111,44,32,87,111,114,108,100,33};19Stringstr5=newString(byteArray);20System.out.println("字節(jié)數(shù)組賦值:"+str5);21//使用字節(jié)數(shù)組的一部分賦值22Stringstr6=newString(byteArray,0,8);23System.out.println("字節(jié)數(shù)組的一部分賦值:"+str6);……任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類上述代碼種分別使用直接賦值和構(gòu)造方法創(chuàng)建字符串對(duì)象,演示了String用法,運(yùn)行結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類在實(shí)際應(yīng)用開發(fā)中,字符串的基本操作有連接、替換和刪除等,如表操作說(shuō)明連接字符串使用+運(yùn)算符或String.concat()方法連接兩個(gè)或多個(gè)字符串替換字符串使用replace()方法替換字符串中的子串刪除字符串使用delete()方法刪除字符串中的子串插入字符串使用insert()方法在字符串中的指定位置插入字符串反轉(zhuǎn)字符串使用reverse()方法反轉(zhuǎn)字符串中的字符順序獲取字符串長(zhǎng)度使用length()方法獲取字符串的長(zhǎng)度獲取字符串子串使用substring()方法獲取字符串的子串比較字符串使用equals()方法比較兩個(gè)字符串是否相等,使用compareTo()方法比較兩個(gè)字符串的大小查找字符串使用indexOf()和lastIndexOf()方法查找字符串中的子串或字符分割字符串使用split()方法根據(jù)指定分隔符將字符串分割成數(shù)組轉(zhuǎn)換大小寫使用toLowerCase()和toUpperCase()方法將字符串轉(zhuǎn)換為小寫或大寫字符串與數(shù)值的轉(zhuǎn)換使用valueOf()方法將數(shù)值轉(zhuǎn)換為字符串,使用Integer.parseInt()等方法將字符串轉(zhuǎn)換為數(shù)值任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類如例5-3,使用字符串的連接、替換、刪除和分割基本操作對(duì)一個(gè)字符串進(jìn)行處理,詳見StringProcessingDemo.java……4//初始字符串5StringoriginalString="Hello,World!";6//連接字符串7StringconcatenatedString=originalString+"新的征程即將開始。";8System.out.println("連接后的字符串:"+concatenatedString);9//替換字符串10StringreplacedString=concatenatedString.replace("World","Java");11System.out.println("替換后的字符串:"+replacedString);12//刪除字符串13StringdeletedString=replacedString.replace("Java","");14System.out.println("刪除后的字符串:"+deletedString);15//分割字符串16String[]splitStrings=deletedString.split(",");17System.out.println("分割后的字符串?dāng)?shù)組:");18for(Strings:splitStrings){19 System.out.println(s);}……任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-String類上述代碼演示了字符串的連接、替換、刪除和分割的基本用法,其運(yùn)用結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-StringBuffer和StringBuilder類StringBuffer和StringBuilder類均表示可變字符串,在用法上也基本相同,這些操作都不會(huì)創(chuàng)建新的對(duì)象,而是在原對(duì)象上進(jìn)行修改。兩者的主要區(qū)別在于線程安全性:StringBuilder不是線程安全的,它是單線程環(huán)境下使用的一個(gè)高效選擇。在單線程環(huán)境中,使用StringBuilder可以避免同步的開銷,從而提高性能。StringBuffer是線程安全的,它可以在多線程環(huán)境中安全地被共享和修改。當(dāng)操作需要被多個(gè)線程訪問時(shí),使用StringBuffer可以防止并發(fā)修改時(shí)可能出現(xiàn)的ConcurrentModificationException。任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-StringBuffer和StringBuilder類StringBuffer和StringBuilder類提供了一系列的方法,具體如表方法說(shuō)明append(Stringstr)將指定的字符串追加到當(dāng)前字符串末尾append(char[]str)將指定的字符數(shù)組中的字符追加到當(dāng)前字符串末尾append(char[]str,intoffset,intlen)將指定字符數(shù)組中的子數(shù)組追加到當(dāng)前字符串末尾insert(intoffset,Stringstr)在指定位置插入指定的字符串insert(intoffset,char[]str)在指定位置插入指定的字符數(shù)組insert(intoffset,char[]str,intfromIndex,inttoIndex)在指定位置插入指定字符數(shù)組中的子數(shù)組delete(intstart,intend)刪除指定位置之間的字符串deleteCharAt(intindex)刪除指定位置的字符replace(intstart,intend,Stringstr)替換指定位置之間的字符串reverse()反轉(zhuǎn)字符串中的字符順序setCharAt(intindex,charch)設(shè)置指定位置的字符substring(intstart)返回從指定位置開始的子字符串substring(intstart,intend)返回從指定位置開始到指定位置結(jié)束的子字符串toString()返回當(dāng)前字符串的String對(duì)象表示length()返回當(dāng)前字符串的長(zhǎng)度charAt(intindex)返回指定位置的字符任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-StringBuffer和StringBuilder類如例5-4,演示StringBuffer常見操作,詳見StringBufferDemo.java1 publicclassStringBufferDemo{2 publicstaticvoidmain(String[]args){3 StringBuffernewstr=newStringBuffer("新的征程,必有新的光輝");4 //追加5 newstr.append("!").append("").append("加油!");6 System.out.println("追加后:"+newstr);7 //替換8 newstr.replace(0,2,"炫麗");9 System.out.println("替換后:"+newstr);10 //刪除11 newstr.delete(13,17);12 System.out.println("刪除后:"+newstr);13 //插入14 newstr.insert(10,"的");15 System.out.println("插入后:"+newstr);16 //反轉(zhuǎn)17 newstr.reverse();18 System.out.println("反轉(zhuǎn)后:"+newstr);19 }20 }任務(wù)5-1樂自助餐飲訂單-Java常用APIString類、StringBuffer和StringBuilder類-StringBuffer和StringBuilder類上述代碼分別對(duì)指定的字符串進(jìn)行了追加、替換、刪除、插入、反轉(zhuǎn)操作,其運(yùn)行結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類Java8引入了一個(gè)全新的日期和時(shí)間處理API,取代了之前的java.util.Date和java.util.Calendar類。比如,在新的java.time包中的LocalDate、LocalTime、LocalDateTime,這些類分別表示日期、時(shí)間和日期加時(shí)間;DateTimeFormatter,用于格式化和解析日期和時(shí)間;Duration和Period,分別表示以年月日,秒和納秒為單位兩個(gè)時(shí)間點(diǎn)之間的時(shí)間間隔。任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalDate類LocalDate類是一個(gè)不可變的日期時(shí)間類,它包含年、月、日三個(gè)屬性。LocalDate類可以使用LocalDate.of(intyear,intmonth,intdayOfMonth)靜態(tài)方法,傳入年、月、日的整數(shù)值來(lái)創(chuàng)建一個(gè)LocalDate實(shí)例,也可以使用LocalDate.now()方法來(lái)獲取當(dāng)前日期。其語(yǔ)法格式如下://使用靜態(tài)方法創(chuàng)建LocalDate實(shí)例LocalDatedate1=LocalDate.of(2024,8,15);//獲取當(dāng)前日期LocalDatedate2=LocalDate.now();任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalTime類LocalTime類是一個(gè)不可變的時(shí)間類,用于表示一個(gè)具體的時(shí)間,例如上午9點(diǎn)30分。LocalTime類可以使用LocalTime.of(inthour,intminute,intsecond)靜態(tài)方法,傳入小時(shí)、分、秒的整數(shù)值來(lái)創(chuàng)建一個(gè)LocalTime實(shí)例,可以使用LocalTime.now()方法來(lái)獲取當(dāng)前時(shí)間。其語(yǔ)法格式如下://獲取當(dāng)前時(shí)間LocalTimetime1=LocalTime.now();//使用靜態(tài)方法創(chuàng)建LocalTime實(shí)例LocalTimetime2=LocalTime.of(23,8,15);任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalTime類LocalTime可以用于時(shí)間加減、比較、計(jì)算時(shí)差、格式與解析時(shí)間等操作方法,詳見表方法聲明功能描述時(shí)間加減LocalTime.plusHours(longhours)將時(shí)間增加指定的小時(shí)數(shù)LocalTime.minusHours(longhours)將時(shí)間減少指定的小時(shí)數(shù)LocalTime.plusMinutes(longminutes)將時(shí)間增加指定的分鐘數(shù)LocalTime.minusMinutes(longminutes)將時(shí)間減少指定的分鐘數(shù)LocalTime.plusSeconds(longseconds)將時(shí)間增加指定的秒數(shù)LocalTime.minusSeconds(longseconds)將時(shí)間減少指定的秒數(shù)獲取時(shí)間LocalTime.getHour()獲取小時(shí)LocalTime.getMinute()獲取分鐘LocalTime.getSecond()獲取秒格式化與解析LocalTime.format(DateTimeFormatterformatter)將LocalTime對(duì)象格式化為字符串LocalTime.parse(CharSequencetext)將字符串解析為L(zhǎng)ocalTime對(duì)象計(jì)算時(shí)差LocalTime.until(LocalTimeendExclusive,ChronoUnitunit)使用指定的兩個(gè)時(shí)間,計(jì)算時(shí)差比較LocalTime.isBefore(LocalTimeother)判斷當(dāng)前時(shí)間是否早于另一個(gè)時(shí)間LocalTime.isAfter(LocalTimeother)判斷當(dāng)前時(shí)間是否晚于另一個(gè)時(shí)間LocalTime.isEqual(LocalTimeother)判斷當(dāng)前時(shí)間是否等于另一個(gè)時(shí)間LocalTime.isBefore(LocalTimeother)判斷當(dāng)前時(shí)間是否早于另一個(gè)時(shí)間LocalTime.isAfter(LocalTimeother)判斷當(dāng)前時(shí)間是否晚于另一個(gè)時(shí)間LocalTime.isEqual(LocalTimeother)判斷當(dāng)前時(shí)間是否等于另一個(gè)時(shí)間任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalDateTime類LocalDateTime類是一個(gè)不可變的時(shí)間類,用于表示一個(gè)具體的日期和時(shí)間,該類實(shí)際是LocalDate和LocalTime的組合。LocalDateTime類可以使用LocalTime.of(LocalDatedate,LocalTimetime)靜態(tài)方法,傳入日期和時(shí)間的整數(shù)值來(lái)創(chuàng)建一個(gè)LocalDateTime實(shí)例,可以使用LocalDateTime.now()方法來(lái)獲取當(dāng)前日期和時(shí)間。任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalDateTime類LocalDateTime可以用于時(shí)間加減、比較、計(jì)算時(shí)差、格式與解析時(shí)間等操作方法,詳見表方法聲明功能描述時(shí)間加減LocalDateTime.plusDays(longdays)將日期時(shí)間增加指定天數(shù)LocalDateTime.minusDays(longdays)將日期時(shí)間減少指定天數(shù)LocalDateTime.plusHours(longhours)將日期時(shí)間增加指定小時(shí)數(shù)LocalDateTime.minusHours(longhours)將日期時(shí)間減少指定小時(shí)數(shù)LocalDateTime.plusMinutes(longminutes)將日期時(shí)間增加指定分鐘數(shù)LocalDateTime.minusMinutes(longminutes)將日期時(shí)間減少指定分鐘數(shù)LocalDateTime.plusSeconds(longseconds)將日期時(shí)間增加指定秒數(shù)LocalDateTime.minusSeconds(longseconds)將日期時(shí)間減少指定秒數(shù)獲取日期時(shí)間LocalDateTime.toLocalDate()獲取日期部分LocalDateTime.toLocalTime()獲取時(shí)間部分LocalDateTime.getYear()獲取年份LocalDateTime.getMonth()獲取月份LocalDateTime.getDayOfMonth()獲取一個(gè)月中的第幾天LocalDateTime.getHour()獲取小時(shí)LocalDateTime.getMinute()獲取分鐘LocalDateTime.getSecond()獲取秒任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-LocalDateTime類LocalDateTime可以用于時(shí)間加減、比較、計(jì)算時(shí)差、格式與解析時(shí)間等操作方法,詳見續(xù)表方法聲明功能描述格式化與解析LocalDateTime.format(DateTimeFormatterformatter)將LocalDateTime對(duì)象格式化為字符串LocalDateTime.parse(CharSequencetext)將字符串解析為L(zhǎng)ocalDateTime對(duì)象計(jì)算時(shí)差LocalDateTime.until(LocalDateTimeendExclusive,ChronoUnitunit)使用指定的兩個(gè)日期和時(shí)間,計(jì)算時(shí)差比較LocalDateTime.isBefore(LocalDateTimeother)判斷當(dāng)前日期時(shí)間是否早于另一個(gè)日期時(shí)間LocalDateTime.isAfter(LocalDateTimeother)判斷當(dāng)前日期時(shí)間是否晚于另一個(gè)日期時(shí)間LocalDateTime.isEqual(LocalDateTimeother)判斷當(dāng)前日期時(shí)間是否等于另一個(gè)日期時(shí)間任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-ZoneId類ZoneId類用于表示特定的時(shí)區(qū)標(biāo)識(shí)符,為日期時(shí)間對(duì)象提供時(shí)區(qū)信息。如“Asia/Shanghai”或“America/New_York”,也可以代表一個(gè)時(shí)區(qū)偏移量,如“+08:00”。也可以將ZoneId對(duì)象從一個(gè)時(shí)區(qū)轉(zhuǎn)換為另一個(gè)時(shí)區(qū)其語(yǔ)法格式如下://指定時(shí)區(qū)ID來(lái)獲取ZoneIdZoneId.of("Asia/Shanghai")//通過ZoneOffset對(duì)象獲取ZoneIdZoneId.ofOffset("+08:00",ZoneOffset.of("+08:00"))任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-ZonedDateTime類ZonedDateTime類,包含了時(shí)區(qū)和日期時(shí)間的組合,用于表示特定時(shí)區(qū)中的日期和時(shí)間??梢杂糜诳鐣r(shí)區(qū)的時(shí)間比較和操作。其語(yǔ)法格式如下://通過ZoneId對(duì)象來(lái)創(chuàng)建ZonedDateTimeZonedDateTime.of(LocalDateTime.now(),ZoneId.of("Asia/Shanghai"))//通過Instant對(duì)象和ZoneId對(duì)象來(lái)創(chuàng)建ZonedDateTimeZonedDateTime.ofInstant(Instant.now(),ZoneId.of("Asia/Shanghai"))任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-ZonedDateTime類如例5-5,通過一個(gè)案例演示以上日期和時(shí)間類用法,詳見TimeDemo.java……10//獲取當(dāng)前日期和時(shí)間11LocalDatetoday=LocalDate.now();12LocalTimenow=LocalTime.now();13LocalDateTimedateTime=LocalDateTime.now();14System.out.println("今天是:"+today);15System.out.println("現(xiàn)在是:"+now);16System.out.println("當(dāng)前日期時(shí)間:"+dateTime);17//創(chuàng)建指定日期和時(shí)間18LocalDatebirthday=LocalDate.of(1999,7,1);19LocalTimemeetingTime=LocalTime.of(10,30);20System.out.println("生日:"+birthday);21System.out.println("會(huì)議時(shí)間:"+meetingTime);22//日期計(jì)算23LocalDatetomorrow=today.plusDays(1);24System.out.println("明天是:"+tomorrow);……任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-ZonedDateTime類如例5-5,通過一個(gè)案例演示以上日期和時(shí)間類用法,詳見TimeDemo.java……25//時(shí)區(qū)轉(zhuǎn)換26ZoneIdshanghaiZone=ZoneId.of("Asia/Shanghai");27ZonedDateTimeshanghaiDateTime=LocalDateTime.now().atZone(shanghaiZone);28System.out.println("上海時(shí)間:"+shanghaiDateTime);29//格式化日期時(shí)間30DateTimeFormatterformatter=DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss");31StringformattedDateTime=dateTime.format(formatter);32System.out.println("格式化日期時(shí)間:"+formattedDateTime);33//解析日期時(shí)間34LocalDateTimeparsedDateTime=LocalDateTime.parse("2024-06-0610:30:30",formatter);35System.out.println("解析指定日期時(shí)間:"+parsedDateTime);……任務(wù)5-1樂自助餐飲訂單-Java常用API日期時(shí)間類-日期時(shí)間和時(shí)區(qū)類-ZonedDateTime類上述代碼中,首先導(dǎo)入程序所需的java.time包中的類,然后使用Java中的日期和時(shí)間類來(lái)獲取當(dāng)前日期和時(shí)間、創(chuàng)建特定日期和時(shí)間、進(jìn)行日期計(jì)算、時(shí)區(qū)轉(zhuǎn)換、格式化和解析日期時(shí)間,日期時(shí)間類操作運(yùn)行結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Math類Math類用于執(zhí)行基本的數(shù)學(xué)運(yùn)算,如取絕對(duì)值、取整、計(jì)算最大值和最小值、計(jì)算冪、生成隨機(jī)數(shù)等。此外,它還提供了三角函數(shù)和角度與弧度之間的轉(zhuǎn)換方法,方便進(jìn)行更復(fù)雜的數(shù)學(xué)計(jì)算。Math類位于java.lang包中,由JVM自動(dòng)將該包中的類導(dǎo)入應(yīng)用程序中。Math類中,大致可以分為3類:一類表示常量如Math.PI;一類表示計(jì)算用途的方法如floor(doublea),pow(doublea,doubleb);一類用于轉(zhuǎn)換操作如toRadians(doubleangdeg)。Math類的構(gòu)造方法是私有的,因此它不能被實(shí)例化,另外,Math類是用final修飾的,因此不能有子類任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Math類Math類常用方法,如表方法聲明功能描述staticintabs(inta)返回絕對(duì)值staticdoubleceil(doublea)返回大于或等于參數(shù)的最小整數(shù)staticdoublefloor(doublea)返回小于或等于參數(shù)的最大整數(shù)staticintmax(inta,intb)返回兩個(gè)參數(shù)的較大值staticintmin(inta,intb)返回兩個(gè)參數(shù)的較小值random()生成一個(gè)大于等于0.0且小于1.0的隨機(jī)double值staticlonground(doublea)返回四舍五入的整數(shù)值staticdoublesqrt(doublea)平方根函數(shù)staticdoublepow(doublea,doubleb)冪運(yùn)算任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Math類如例5-6,通過一個(gè)簡(jiǎn)單的數(shù)學(xué)計(jì)算案例演示Math類常用方法,詳見MathDemo.java1publicclassMathDemo{2 publicstaticvoidmain(String[]args){3 //基本數(shù)學(xué)運(yùn)算4 doublenumber=4.0;5 //輸出結(jié)果6 System.out.println("絕對(duì)值:"+Math.abs(number));7 System.out.println("平方根:"+Math.sqrt(number));8 System.out.println("冪:"+Math.pow(number,2));9 System.out.println("四舍五入:"+Math.round(number));10 System.out.println("正弦:"+Math.sin(Math.PI/2));11 System.out.println("正切:"+Math.tan(Math.PI/4));12 System.out.println("自然對(duì)數(shù):"+Math.log(Math.E));13 System.out.println("指數(shù):"+Math.exp(Math.PI));14 System.out.println("隨機(jī)數(shù):"+Math.random());15 }16}任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Math類以上代碼的運(yùn)行結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Random類Random類位于java.util包中,可以產(chǎn)生boolean、int、long、float、byte數(shù)組以及double類型的隨機(jī)數(shù),這是它與random()方法最大的不同之處該類常用的有如下兩個(gè)構(gòu)造方法。Random():該構(gòu)造方法使用一個(gè)和當(dāng)前系統(tǒng)時(shí)間對(duì)應(yīng)的數(shù)字作為種子數(shù),然后使用這個(gè)種子數(shù)構(gòu)造Random對(duì)象。Random(longseed):使用單個(gè)long類型的參數(shù)創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Random類Random類常用方法如表方法申明功能描述publicbooleannextBoolean()生成一個(gè)隨機(jī)的boolean值,true和false的值幾率相等publicdoublenextDouble()生成一個(gè)隨機(jī)的double值,數(shù)值介于[0,1.0)之間publicintnextInt()生成一個(gè)隨機(jī)的int的區(qū)間值,也就是-231

到231-1之間publicintnextInt(intn)生成一個(gè)隨機(jī)的int值,該值介于[0,n)的區(qū)間publicvoidsetSeed(longseed)重新設(shè)置Random對(duì)象中的種子數(shù)任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Random類如例5-7,通過一個(gè)統(tǒng)計(jì)隨機(jī)數(shù)出現(xiàn)次數(shù)的案例演示Random類使用,詳見RandomDemo.java4intN=100;//給定的整數(shù)N5Randomrandom=newRandom();6int[]randomInts=newint[N];7int[]counts=newint[101];//數(shù)組大小為101,因?yàn)檎麛?shù)范圍是1到1009for(inti=0;i<N;i++){8//生成N個(gè)隨機(jī)整數(shù)并統(tǒng)計(jì)每個(gè)整數(shù)出現(xiàn)的次數(shù)10 intrandomInt=random.nextInt(100)+1;//生成介于1到100之間的隨機(jī)整數(shù)11 randomInts[i]=randomInt;12 counts[randomInt]++;13}14intmaxCount=0;//找出出現(xiàn)次數(shù)最多的前三個(gè)整數(shù)及其對(duì)應(yīng)的次數(shù)15int[]topThree=newint[3];16for(inti=1;i<=100;i++){17 if(counts[i]>maxCount){18 maxCount=counts[i];19 topThree[0]=i;20 topThree[1]=0;21 topThree[2]=0;22 }elseif(counts[i]==maxCount){23 if(topThree[2]==0){24 topThree[2]=i;25 }26 }27}任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Random類在上述代碼中,使用了一個(gè)int[]randomInts來(lái)存儲(chǔ)生成的隨機(jī)整數(shù),以及一個(gè)int[]counts來(lái)記錄每個(gè)整數(shù)出現(xiàn)的次數(shù)。然后,我們使用一個(gè)循環(huán)來(lái)找出出現(xiàn)次數(shù)最多的前三個(gè)整數(shù)及其對(duì)應(yīng)的次數(shù)。本次運(yùn)行的結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Lambda表達(dá)式Lambda表達(dá)式是一種匿名函數(shù),沒有名稱,但可以像普通函數(shù)一樣接收參數(shù)和返回值。它由箭頭“->”連接一個(gè)或多個(gè)參數(shù)和一個(gè)表達(dá)式或代碼塊組成,支持函數(shù)式編程,允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。Lambda表達(dá)式可以用于集合操作、事件處理等各種場(chǎng)景。語(yǔ)法格式如下:(parameters)->expression或(parameters)->{statements;}上述語(yǔ)法格式中,parameters是參數(shù)列表,expression或{statements;}是Lambda表達(dá)式的主體。如果只有一個(gè)參數(shù),可以省略括號(hào);如果沒有參數(shù),也需要空括號(hào)。任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Lambda表達(dá)式如例5-8,通過一個(gè)使用lambda表達(dá)式操作數(shù)組的排序和打印案例,演示lambda表達(dá)式的基本用法和函數(shù)式編程的用法。詳見LambdaSortAndPrintExample.java1. importjava.util.Arrays;2. publicclassLambdaSortAndPrintExample{3. publicstaticvoidmain(String[]args){4. //定義一個(gè)Integer數(shù)組5. Integer[]numbers={5,2,9,1,5,6};6. //使用Lambda表達(dá)式和Arrays.sort()方法對(duì)數(shù)組進(jìn)行排序7. Arrays.sort(numbers,(a,b)->a-b);//升序排序8. //使用Arrays.stream()方法和forEach()方法打印排序后的數(shù)組9. Arrays.stream(numbers).forEach(System.out::println);10. 11. //降序排序,可以修改Lambda表達(dá)式為:12. Arrays.sort(numbers,(a,b)->b-a);//降序排序13. //再次打印排序后的數(shù)組(降序)14. System.out.println("降序排序后的數(shù)組:");15. Arrays.stream(numbers).forEach(System.out::println);16. }17. }任務(wù)5-1樂自助餐飲訂單-Java常用APIMath類和Random類-

Lambda表達(dá)式上述代碼中,利用Lambda表達(dá)式和StreamAPI對(duì)整數(shù)數(shù)組進(jìn)行排序,然后打印出來(lái)。首先,代碼使用Lambda表達(dá)式定義了一個(gè)比較器,指定數(shù)組元素按照升序排列。接著,代碼將數(shù)組轉(zhuǎn)換成流,并通過流中的forEach方法逐個(gè)打印元素。最后,代碼再次調(diào)用sort方法,使用另一個(gè)Lambda表達(dá)式實(shí)現(xiàn)降序排列,并打印出降序排列后的數(shù)組。其運(yùn)行結(jié)果如圖任務(wù)5-1樂自助餐飲訂單-任務(wù)實(shí)現(xiàn)1.分別設(shè)計(jì)用戶類、菜單類、訂單類屬性及獲取屬性的getter方法。2.菜單類,中包括菜品名稱、價(jià)格、制作時(shí)間。3.訂單類,包括用戶ID、菜品名稱、菜品價(jià)格、折扣率、最終價(jià)格、下單時(shí)間、預(yù)計(jì)準(zhǔn)備時(shí)間。4.用戶輸入處理,用戶ID只接收數(shù)字,錯(cuò)誤輸入后,可繼續(xù)輸入;點(diǎn)餐輸入錯(cuò)誤的菜品名稱后可繼續(xù)輸入。5.菜單處理,使用數(shù)組和菜單類構(gòu)建菜單。6.訂單處理,用戶點(diǎn)餐后,系統(tǒng)會(huì)根據(jù)菜品價(jià)格和折扣計(jì)算出最終價(jià)格,并使用Lambda表達(dá)式來(lái)簡(jiǎn)化訂單處理邏輯。代碼參考教材中的RestaurantOrderSystem.java任務(wù)5-1樂自助餐飲訂單-任務(wù)實(shí)現(xiàn)上述代碼中,因?yàn)橛脩?、菜單、訂單類均既有不可修改的特性,所以代碼中定義了三個(gè)靜態(tài)內(nèi)部類:User(用戶類)、Dish(菜單類)和Order(訂單類),可以使用構(gòu)造方法的形式生產(chǎn)菜單。在User類中,id屬性,用于標(biāo)識(shí)用戶。在Dish類中,name、price和preparationTime屬性,分別表示菜品的名稱、價(jià)格和準(zhǔn)備時(shí)間。在Order類中,user、dish、finalPrice和orderTime屬性,分別表示訂單的用戶、菜品、最終價(jià)格和訂單時(shí)間。在主方法中如果用戶和輸入的餐單均為有效數(shù)據(jù),則由random隨機(jī)生成一個(gè)折扣率,最后displayOrder用于顯示訂單詳情其運(yùn)行效果如圖02任務(wù)5-2樂自助食材備貨集合簡(jiǎn)介

Collection接口List接口 Set接口

Map接口泛型類泛型類繼承泛型接口實(shí)現(xiàn) Enum關(guān)鍵字

Enum常用方法任務(wù)5-2樂自助食材備貨-集合集合簡(jiǎn)介Java集合框架主要由一組性能高效、使用簡(jiǎn)單、可用來(lái)操作對(duì)象的接口和類組成。Java集合框架位于java.util包中,其中包括接口、接口實(shí)現(xiàn)類、具有靜態(tài)方法的工具類等。Java中的集合類是一種工具類,就像容器,存儲(chǔ)任意數(shù)量的具有共同屬性的對(duì)象在上述圖中Java集合類主要由兩個(gè)根接口Collection和Map派生出來(lái),Collection派生出了三個(gè)子接口:List、Set、Queue。List代表了有序可重復(fù)集合,可直接根據(jù)元素的索引來(lái)訪問;Set代表無(wú)序不可重復(fù)集合,只能根據(jù)元素本身來(lái)訪問;Queue是隊(duì)列集合;Map代表的是存儲(chǔ)〈Key,Value〉(鍵-值)對(duì)的集合,可根據(jù)元素的Key來(lái)訪問Value。其中List接口的常用實(shí)現(xiàn)類為ArrayList、LinkedList、Vector;Set接口的常用實(shí)現(xiàn)類為HashSet;Map接口的常用實(shí)現(xiàn)類為HashMap任務(wù)5-2樂自助食材備貨-集合Collection接口Collection接口中存儲(chǔ)的是一組元素對(duì)象,接口本身并不提供直接實(shí)現(xiàn),具體的操作通過子接口來(lái)實(shí)現(xiàn)Set接口、List接口和Queue接口都是Collection的子接口。在Collection里定義的通用方法既可用于操作Set集合,也可用于操作List集合和Queue集合。Collection接口的方法如表方法聲明功能描述booleanadd(Objectobj)向集合添加一個(gè)obj元素booleanaddAll(Collectionc)將指定集合中所有元素添加到該集合voidclear()清空集合中所有元素booleancontains(Objectobj)判斷集合中是否包含某個(gè)元素booleancontainsAll(Collectionc)判斷集合中是否包含指定集合中所有元素booleanequals(Collectionc)比較此集合與指定對(duì)象是否相等inthashCode()返回此集合的哈希碼值Iteratoriterator()返回在此集合的元素上進(jìn)行迭代的迭代器booleanremove(Objecto)刪除該集合中的指定元素booleanremoveAll(Collectionc)刪除指定集合中所有元素booleanretainAll(Collectionc)僅保留此集合中那些也包含在指定集合c中的元素Object[]toArray()返回包含此集合中所有元素的數(shù)組booleanisEmpty()如果此集合為空,則返回trueintsize()返回此集合中元素個(gè)數(shù)任務(wù)5-2樂自助食材備貨-集合Collection接口如例5-9,通過創(chuàng)建、添加、刪除等操作演示表5-9中Collection方法的使用,詳見CollectionDemo.java1importjava.util.ArrayList;2importjava.util.Collection;3publicclassCollectionDemo{4publicstaticvoidmain(String[]args){5 //創(chuàng)建一個(gè)集合6 Collection<String>collection=newArrayList<>();7 //添加元素8 collection.add("純電動(dòng)汽車");9 collection.add("混合動(dòng)力電動(dòng)汽車");10collection.add("燃料電池電動(dòng)汽車");11collection.add("氫發(fā)動(dòng)機(jī)汽車");12collection.add("其他新能源");13//添加后的集合14System.out.println("添加元素后,集合內(nèi)容:"+collection);15//刪除指定元素16collection.remove("其他新能源");17//創(chuàng)建新集合并添加刪除后的元素18Collection<String>newCollection=newArrayList<>(collection);19System.out.println("刪除元素后,集合內(nèi)容:"+newCollection);20//輸出新集合中元素的個(gè)數(shù)21System.out.println("新集合中元素的個(gè)數(shù):"+newCollection.size());22}23}任務(wù)5-2樂自助食材備貨-集合Collection接口上述代碼中,首先創(chuàng)建了一個(gè)ArrayList集合,并向其中添加、打印添加后的集合;然后,使用remove刪除了集合中的“其他新能源”元素,并將刪除“其他新能源”后的集合添加到新集合中。最后打印新集合中元素的內(nèi)容和個(gè)數(shù)。其運(yùn)行結(jié)果如圖任務(wù)5-2樂自助食材備貨-集合List接口List集合中元素是有序的且可重復(fù)的,相當(dāng)于數(shù)學(xué)里面的數(shù)列,有序可重復(fù)。使用此接口能夠精確地控制每個(gè)元素插入的位置,用戶可以通過索引來(lái)訪問集合中的指定元素,List集合還有一個(gè)特點(diǎn)就是元素的存入順序與取出順序相一致。List接口中大量地?cái)U(kuò)充了Collection接口,擁有了比Collection接口中更多的方法定義,其中有些方法還比較常用,如表方法聲明功能描述voidadd(intindex,Objectelement)在index位置插入element元素booleanaddAll(intindex,Collectionc)將集合c中所有元素插入List集合的index處Objectget(intindex)得到index處的元素Objectset(intindex,Objectelement)用element替換index位置的元素Objectremove(intindex)移除index位置的元素,并返回該元素intindexOf(Objecto)返回集合中第一次出現(xiàn)o的索引,若集合中不包含該元素,則返回-1任務(wù)5-2樂自助食材備貨-集合List接口-ArrayList如例5-10,通過創(chuàng)建、添加、刪除等操作演示ArrayList方法的使用,詳見ArrayListDemo.java4ArrayList<String>list=newArrayList<>();5list.add("燃油型汽車");6list.add("純電型汽車");7list.add("固態(tài)電池型汽車");8list.add("混合動(dòng)力型汽車");9System.out.println("新集合:"+list);10//voidadd(intindex,Eelement)->在指定索引位置上添加元素11list.add(2,"氫燃料電池型汽車");12System.out.println("添加元素后,集合內(nèi)容:"+list);13//booleanremove(Objecto)->刪除指定的元素,刪除成功為true,失敗為false14list.remove("氫燃料電池型汽車");15System.out.println("指定的元素刪除后,集合內(nèi)容:"+list);16//Eremove(intindex)->刪除指定索引位置上的元素17Stringelement=list.remove(0);18System.out.println("指定的索引刪除后,集合內(nèi)容:"+list);19//Eset(intindex,Eelement)->將指定索引位置上的元素,修改成后面的element元素20Stringelement2=list.set(0,"新能源動(dòng)力汽車");21System.out.println("指定的索引修改后,集合內(nèi)容:"+list);22//Eget(intindex)->根據(jù)索引獲取元素23System.out.println("指定索引獲取元素:"+list.get(0));24//intsize()->獲取集合元素個(gè)數(shù)25System.out.println("集合元素個(gè)數(shù):"+list.size());任務(wù)5-2樂自助食材備貨-集合List接口-ArrayList上述代碼中,演示了使用ArrayList類執(zhí)行集合基本操作添加、刪除、修改、獲取元素和獲取集合的大小。其運(yùn)行結(jié)果如圖任務(wù)5-2樂自助食材備貨-集合List接口-LinkedListLinkedList是List接口的另一個(gè)實(shí)現(xiàn)類,它基于雙向鏈表實(shí)現(xiàn),因此添加和刪除元素的操作在鏈表的兩端非常高效(常數(shù)時(shí)間復(fù)雜度)。但在訪問指定位置的元素時(shí),可能需要遍歷鏈表,因此效率較低。其常見的操作如表方法聲明功能描述newLinkedList()或newLinkedList(Collection<?extendsE>c)創(chuàng)建一個(gè)LinkedListaddFirst(Ee)、addLast(Ee)、add(intindex,Eelement)在第一位、最后一位、索引位置添加元素getFirst()、getLast()、get(intindex)

根據(jù)索引訪問元素removeFirst()、removeLast()、remove(intindex)根據(jù)索引刪除元素set(intindex,Eelement)根據(jù)索引修改元素任務(wù)5-2樂自助食材備貨-集合List接口-LinkedList如例5-11,通過創(chuàng)建、添加、刪除等操作演示中LinkedList方法的使用,詳見LinkedListDemo.java1importjava.util.LinkedList;2publicclassLinkedListDemo{3publicstaticvoidmain(String[]args){4 LinkedList<String>list=newLinkedList<>();5list.add("混動(dòng)型汽車");6list.add("純電型汽車");7list.add("氫燃料電池型汽車");8System.out.println("新集合:"+list);9list.addFirst("新能源汽車");//在列表開頭添加元素10System.out.println("在集合頭部添加元素后:"+list);11list.removeLast();//移除列表最后一個(gè)元素12System.out.println("刪除集合最后一個(gè)元素后:"+list);13System.out.println("獲取指定索引的元素:"+list.get(1));//輸出索引為1的元素14}15}任務(wù)5-2樂自助食材備貨-集合List接口-IteratorIterator是Java集合框架中用于迭代訪問(即遍歷)集合的接口,因此Iterator對(duì)象也被稱為迭代器。當(dāng)使用List(或其他實(shí)現(xiàn)了Collection接口的類)時(shí),可以使用iterator()方法獲取一個(gè)Iterator對(duì)象,然后通過該對(duì)象的hasNext()和next()方法來(lái)遍歷集合中的元素任務(wù)5-2樂自助食材備貨-集合List接口-Iterator如例5-12,通過集合遍歷的案例演示Iterator類的使用,詳見IteratorDemo.java1importjava.util.*;2publicclassIteratorDemo{3 publicstaticvoidmain(String[]args){4 ArrayList<String>list=newArrayList<>();5 list.add("新能源汽車");6 list.add("燃油型汽車");7 list.add("純電型汽車");8 list.add("固態(tài)電池型汽車");9 list.add("混合動(dòng)力型汽車");10 //獲取迭代器對(duì)象11 Iterator<String>iterator=list.iterator();12 while(iterator.hasNext()){13 Stringelement=iterator.next();14 System.out.println(element);15 }16 }17}任務(wù)5-2樂自助食材備貨-集合List接口-Iterator上述代碼中,首先創(chuàng)建一個(gè)LinkedList集合并添加相應(yīng)的元素,演示了使用Iterator類遍歷集合。其運(yùn)行結(jié)果如圖任務(wù)5-2樂自助食材備貨-集合Set接口

Set接口和List接口一樣,同樣繼承自Collection接口,它與Collection接口中的方法基本一致。Set接口定義了一系列操作無(wú)序集合的方法,包括添加、刪除、修改和查詢?cè)氐?。Set接口的實(shí)現(xiàn)類包括HashSet、LinkedHashSet和TreeSet任務(wù)5-2樂自助食材備貨-集合Set接口-HashSetHashSet是Set接口的一個(gè)具體實(shí)

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論