中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

公司網(wǎng)站建設(shè)應(yīng)注意深圳推廣公司推薦

公司網(wǎng)站建設(shè)應(yīng)注意,深圳推廣公司推薦,南京展廳設(shè)計(jì)裝修,眼科醫(yī)院網(wǎng)站做競價(jià)帶來的詢盤量目錄 泛型 泛型的定義: 泛型的實(shí)例化: 泛型的使用: 順序表ArrayList 順序表ArrayList的兩種實(shí)例化方法: ArrayList常用的方法: 1. add 方法 2. size ( ) 方法 3. get 方法 4. set 方法 5. 順序表的三種遍歷元素的方法…

?

目錄

泛型

? ? ? ? 泛型的定義:

? ? ? ? 泛型的實(shí)例化:

?????????泛型的使用:

????????順序表ArrayList

? ? ? ? 順序表ArrayList的兩種實(shí)例化方法:

? ? ? ? ArrayList常用的方法:

? ? ? ?1. add 方法

? ? ? ? 2. size ( ) 方法

? ? ? ? 3. get 方法

? ? ? ? 4. set 方法

? ? ? ? 5. 順序表的三種遍歷元素的方法。

? ? ? ? for循環(huán):

? ? ? ? for each :

? ? ? ? 迭代器:

? ? ? ? 6. add ()在指定位置添加元素

? ? ? ? 7.刪除元素:

? ? ? ? 根據(jù)下標(biāo)刪除元素:

? ? ? ? 根據(jù)元素內(nèi)容刪除元素:

? ? ? ? 注意:

? ? ? ? 8. contains 方法

? ? ? ? 9. indexOf 方法

? ? ? ? 10. subList 方法

? ? ? ? 11. clear()方法


泛型

? ? ? ? ?泛型也就是適用于許多其他的類型。

????????泛型可以提高代碼的復(fù)用性。

? ? ? ? 在我們之前學(xué)習(xí)的方法的重載后,發(fā)現(xiàn)其也不是那么的方便,因?yàn)橐逊椒ǖ慕邮盏膮?shù)重新設(shè)置,而且要是重載的方法多了,代碼會(huì)變的“丑”,java所以引入了泛型來解決這一情況。所以為什么說泛型可以提高代碼的復(fù)用性。

????????

? ? ? ? 那么,泛型怎么定義,怎么實(shí)例化,怎么使用?

????????

? ? ? ? 泛型的定義:

????????

?????????這里我們就創(chuàng)建了一個(gè)泛型類。

? ? ? ? 注意:

? ? ? ? 1.要在類名后加上 " < > " ,而其里面名字 " T " 是代表到時(shí)候?qū)嵗瘋鬟^來的數(shù)據(jù)類型。?

? ? ? ? 2.在new 一個(gè)數(shù)組對象時(shí),因?yàn)樵趎ew 這個(gè)對象的時(shí)候,可能會(huì)涉及到調(diào)用該類的構(gòu)造方法,T 是什么類型還不知道,構(gòu)造方法實(shí)現(xiàn)不了。所以,要先通過 Object 類型來開辟空間,再通過強(qiáng)制類型轉(zhuǎn)換成 T[ ]?數(shù)組類型。

????????

? ? ? ? 泛型的實(shí)例化:

????????

?????????這樣,我們就實(shí)例化了一個(gè)泛型。

? ? ? ? 注意:

? ? ? ? 在實(shí)例化中,"< >" 里面的書寫。

? ? ? ? 1.如果是基本數(shù)據(jù)類型,要使用到其對應(yīng)的包裝類。

? ? ? ? 2.如果是引用類型,可以直接寫,比如 String ,int [ ] ,double [ ] 。

????????

????????包裝類是 Java 為每個(gè)基本數(shù)據(jù)類型提供的對應(yīng)的引用類型。基本數(shù)據(jù)類型不是對象,不具備對象的特性,如不能調(diào)用方法等。而包裝類使得基本數(shù)據(jù)類型可以像對象一樣被操作,基本數(shù)據(jù)類型也能夠參與其中。

????????

? ? ? ? 基本數(shù)據(jù)類型對應(yīng)的包裝類如圖:

????????

????????

?????????泛型的使用:

????????

?????????上面的 set 方法設(shè)置和 get 提取數(shù)據(jù)打印時(shí)沒問題的,但是下面的 arr.set(1,10) 這一行代碼就有問題了,這里需要的是 String 類型的數(shù)據(jù),而這里傳入了一個(gè)整數(shù)類型,觸發(fā)了類型檢查,所以,使用泛型能更好的讓我們發(fā)現(xiàn)錯(cuò)誤。

????????

????????順序表ArrayList

?????????順序表 與 數(shù)組 其實(shí)很相似,但順序表 實(shí)現(xiàn)了 List 接口List是一個(gè)接口,它定義了一系列操作順序表的方法,例如添加元素、刪除元素、獲取元素、查詢元素位置等。?ArrayListList接口的一個(gè)具體實(shí)現(xiàn)類。它實(shí)現(xiàn)了List接口中定義的所有方法。能更好的對數(shù)據(jù)進(jìn)行處理,總的來說 順序表 比 數(shù)組 好用。

????????

? ? ? ? 順序表ArrayList的兩種實(shí)例化方法:

????????

????????

? ?要注意,使用順序表ArrayList要導(dǎo)入對應(yīng)的包。

? ?第一種實(shí)例化我們都會(huì),但第二種實(shí)例化,使用了 List 的引用來進(jìn)行接收?ArrayList 對象的示例,這也是“向上轉(zhuǎn)型”。

?????????

?我們前面知道:

? 子類實(shí)例轉(zhuǎn)成父類引用 稱為“向上轉(zhuǎn)型”。

? ? ? 把父類實(shí)例轉(zhuǎn)成子類引用稱為“向下轉(zhuǎn)型”。

????????

? ? ? ? 使用上面的第二種實(shí)例化,后續(xù)針對 List 進(jìn)行各種方法的調(diào)用,就會(huì)觸發(fā)多態(tài),調(diào)用到子類ArrayList的方法。

????????

? ? ? ? 另外,再看下面的:? ? ? ??

? ? ? ? 這里的實(shí)例化的同時(shí),指定初始化容量是元素個(gè)數(shù),并且,順序表是可以動(dòng)態(tài)擴(kuò)容的(后面也會(huì)講到),只要機(jī)器的內(nèi)存足夠用,就能一直持續(xù)擴(kuò)容,保證元素都能被容納進(jìn)去。(順序表的一個(gè)核心功能)。

????????

? ? ? ? ArrayList常用的方法:

? ? ? ?1. add 方法

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

?????????這是一個(gè)尾插的方法,先調(diào)用的add方法在前面存放,后調(diào)用的add方法繼續(xù)在后面逐個(gè)插入數(shù)據(jù)。

? ? ? ? add方法就涉及到動(dòng)態(tài)擴(kuò)容了。因?yàn)殚_始創(chuàng)建順序表的時(shí)候并沒有指定容量。在使用add方法后就會(huì)動(dòng)態(tài)擴(kuò)容了。

????????

? ? ? ? 2. size ( ) 方法

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");System.out.println(arr1.size());

? ? ? ? 運(yùn)行結(jié)果:

????????

?????????size ( ) 方法是獲取順序表的元素個(gè)數(shù)。

????????

? ? ? ? 3. get 方法

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");System.out.println(arr1.get(0));System.out.println(arr1.get(1));System.out.println(arr1.get(2));System.out.println(arr1.get(3));

? ? ? ? 打印結(jié)果:

????????

? ? ? ? get?方法 可以獲取 順序表 當(dāng)中對應(yīng)下標(biāo)的元素。

? ? ? ? 注意:

? ? ? ? 使用 get 方法 獲取的下標(biāo)不能越界。

????????

? ? ? ? 4. set 方法

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");//       System.out.println(arr1.get(0));
//       System.out.println(arr1.get(1));
//       System.out.println(arr1.get(2));
//       System.out.println(arr1.get(3));arr1.set(1,"kkk");System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

?????????set 方法是將順序表對應(yīng)下標(biāo)的元素進(jìn)行改變。

? ? ? ? 注意:

? ? ? ? set 方法 設(shè)置元素的下標(biāo)不能越界。

????????

? ? ? ? 5. 順序表的三種遍歷元素的方法。

? ? ? ? for循環(huán):

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");for (int i = 0; i < arr1.size(); i++) {System.out.println(arr1.get(i));}
? ? ? ? for each :

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");for(String s : arr1 ) {System.out.println(s);}
? ? ? ? 迭代器:

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");Iterator<String> sss = arr1.iterator();while(sss.hasNext()) {System.out.println(sss.next());}

? ? ? ? 這個(gè)類似于之前學(xué)習(xí)的 Scanner 輸入的例子。

? ? ? ?獲取一個(gè)迭代器(Iterator),并將這個(gè)迭代器賦值給名為sss的變量。通過這個(gè)迭代器,可以方便地遍歷?arr1?集合中的元素。

????????

? ? ? ? 6. add ()在指定位置添加元素

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add(2,"man");System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

?????????這里插入元素是 插入后的 元素的位置下標(biāo)。

? ? ? ? 在上述里例子中,如果插入的下標(biāo)是 4 ,那么就相當(dāng)于尾插了。

????????

? ? ? ? 7.刪除元素:

? ? ? ? 根據(jù)下標(biāo)刪除元素:

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.remove(2);System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

?????????這里是刪除了 2 下標(biāo)的元素 “ccc” 。

????????

? ? ? ? 根據(jù)元素內(nèi)容刪除元素:

????????

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("ccc");arr1.add("eee");arr1.remove("ccc");System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

? ? ? ? 可以看到, remove 根據(jù)內(nèi)容刪除元素方法 用于從列表中刪除指定元素的第一個(gè)匹配項(xiàng),如果要?jiǎng)h除所有的 “ccc”,可以通過循環(huán)檢查每個(gè)元素,然后在匹配時(shí)刪除來實(shí)現(xiàn)刪除所有指定元素。(這里不做演示)

????????

????????

? ? ? ? 注意:
List<Integer> arr2 = new ArrayList<>();arr2.add(1);arr2.add(2);arr2.add(3);arr2.add(4);arr2.remove(2);System.out.println(arr2);

? ? ? ? 打印結(jié)果:

?????????

?????????這里根據(jù)的是下標(biāo)來刪除元素的,如果想要?jiǎng)h除元素2 應(yīng)該怎么做?

? ? ? ? 可以這樣:

List<Integer> arr2 = new ArrayList<>();arr2.add(1);arr2.add(2);arr2.add(3);arr2.add(4);Integer a = 2;arr2.remove(a);System.out.println(arr2);

? ? ? ? 打印結(jié)果:

????????

?????????這里借助了不同類型的 兩種數(shù)據(jù) 觸發(fā)了不同的重載方法,實(shí)現(xiàn)了兩種刪除方式。

????????基本數(shù)據(jù)類型int的值(這里的12、3、4)會(huì)自動(dòng)轉(zhuǎn)換為Integer對象并添加到列表中。自動(dòng)裝箱機(jī)制使得代碼編寫更加方便,程序員不需要顯式地將int轉(zhuǎn)換為Integer

????????

? ? ? ? 8. contains 方法

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("ccc");arr1.add("eee");System.out.println( arr1.contains("eee"));

? ? ? ? 運(yùn)行結(jié)果:

????????

? ? ? ? 這個(gè)方法用來判斷順序表中當(dāng)前元素存不存在。

? ? ? ? 存在返回 true,否則返回 false?。

????????

? ? ? ? 9. indexOf 方法

????????

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("ccc");arr1.add("eee");//返回元素第一次出現(xiàn)的下標(biāo)位置System.out.println(arr1.indexOf("ccc"));// //返回元素最后一次出現(xiàn)的下標(biāo)位置System.out.println(arr1.lastIndexOf("ccc"));

? ? ? ? 打印結(jié)果:

????????

?????????如果元素不存在,則返回 -1?

????????

????????

? ? ? ? 10. subList 方法

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("eee");//獲取子列表 arr2List<String> arr2 = arr1.subList(1,3);//打印子列表 arr2System.out.println(arr2);//修改子列表arr2arr2.set(0,"111");//打印arr1System.out.println(arr1);

? ? ? ? 打印結(jié)果:

????????

?????????可以看到。

????????對子列表操作,不是創(chuàng)建“副本”列表,而是直接取原始列表一部分進(jìn)行構(gòu)造的,修改子列表,就會(huì)影響到原始的列表。

????????

????????

? ? ? ? 11. clear()方法

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("eee");//清空前System.out.println(arr1);arr1.clear();//清空后System.out.println(arr1);

? ? ? ? 打印如果:

????????

? ? ? ? clear 可以清空順序表當(dāng)中的元素。?

http://www.risenshineclean.com/news/55815.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)費(fèi)屬于什么稅目域名注冊管理機(jī)構(gòu)
  • 獵聘做簡歷的網(wǎng)站收費(fèi)靠譜阿里巴巴關(guān)鍵詞排名優(yōu)化
  • php網(wǎng)站怎么做偽靜態(tài)建筑設(shè)計(jì)網(wǎng)站
  • 網(wǎng)站推廣咋做的網(wǎng)站建設(shè)黃頁視頻
  • 怎么用lls做網(wǎng)站排名seo公司
  • 網(wǎng)站推廣東莞網(wǎng)站競價(jià)推廣怎么做
  • h5網(wǎng)站建設(shè)短鏈接
  • dede cms 網(wǎng)站模板谷歌外貿(mào)平臺
  • 做網(wǎng)站圖片用什么格式網(wǎng)絡(luò)營銷第三版課本
  • b站 的網(wǎng)站 怎么做著名的營銷成功的案例
  • 深圳網(wǎng)站建設(shè)公司招聘b2b網(wǎng)站排名
  • 做vi網(wǎng)站品牌設(shè)計(jì)
  • 常州網(wǎng)站制作機(jī)構(gòu)今日熱點(diǎn)新聞事件摘抄
  • 福建閩東建設(shè)網(wǎng)站如何讓關(guān)鍵詞排名靠前
  • 可視化建網(wǎng)站河南網(wǎng)站建設(shè)哪里好
  • 同個(gè)主體新增網(wǎng)站備案產(chǎn)品推廣方式
  • 廣西網(wǎng)站怎么制作什么推廣平臺好
  • 做pc端網(wǎng)站案例網(wǎng)站搜什么關(guān)鍵詞
  • 太原cms建站系統(tǒng)百度寫一篇文章多少錢
  • 網(wǎng)站圖片怎么優(yōu)化百度推廣區(qū)域代理
  • wordpress的.htaccess北京優(yōu)化seo
  • 東莞做網(wǎng)站找微客巴巴阿里指數(shù)網(wǎng)站
  • 做網(wǎng)站怎么掙錢賺錢職業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 成都網(wǎng)站開發(fā)的公司網(wǎng)頁制作教程視頻
  • 建設(shè)大型網(wǎng)站seo推廣網(wǎng)絡(luò)
  • 購物網(wǎng)站如何做性能測試上海百度競價(jià)
  • 網(wǎng)站備案行業(yè)外貿(mào)網(wǎng)站seo推廣教程
  • 深圳網(wǎng)博網(wǎng)站建設(shè)app開發(fā)者需要更新此app
  • 用asp做網(wǎng)站網(wǎng)站空間費(fèi)用一年多少
  • 畢設(shè)網(wǎng)站可以用axure做嗎軟文營銷怎么寫