最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java List接口與Iterator接口及foreach循環(huán)使用解析

 更新時間:2022年04月29日 15:14:53   作者:LNORA  
這篇文章主要介紹了Java List接口與Iterator接口及foreach循環(huán),主要包括List接口與Iterator接口及foreach循環(huán)具體的使用方法和代碼,需要的朋友可以參考下

List接口

List接口繼承Collection接口,屬于單列集合,在List集合中允許出現(xiàn)重復的元素,所有的元素是以一種線性方式進行存儲的,在程序中通過索引來訪問集合中的指定元素,元素是順序存儲的,即元素的存入順序和取出順序一致。

ArrayList集合

ArrayList是List接口的一個實現(xiàn)類,在ArrayList內(nèi)部封裝了一個長度可變的數(shù)組對象。

 package 集合類;
 import java.util.ArrayList;
 import java.util.Arrays;
 public class FengZhuanglei {
     public static void main(String[] args) {
         ArrayList list=new ArrayList();
         list.add("stu1");
         list.add("stu2");
         list.add("stu3");
         list.add("stu4");
         System.out.println("集合的長度:"+list.size());
         System.out.println("第二個元素是:"+list.get(1));
     }
 }

運行結(jié)果

由運行結(jié)果可知,ArrayList和數(shù)組索引都是從0開始的,由于ArrayList集合的底層是使用一個數(shù)組來保存元素的,在進行增加或刪除指定位置的元素時,會導致創(chuàng)建一個新的數(shù)組,效率比較低,因此不適合進行大量的增刪操作,但是可以通過索引來查找元素,這也增加了查找元素的效率。

LinkedList集合

為了解決ArrayList集合在增刪元素的效率低的問題,引入了LinkList集合,在LinkList集合的內(nèi)部維護了一個雙向的循環(huán)鏈表,鏈表的每一個元素都使用引用的方式來記住它的前一個元素和后一個元素,因此可以將所有的元素連接起來,當插入一個新元素時,只需要修改元素之間的引用關(guān)系,這樣可以增加對于元素進行增刪操作的效率。

 package 集合類;
 import java.util.LinkedList;
 public class LianBiao {
     public static void main(String[] args) {
         LinkedList link =new LinkedList();
         link.add("stu1");
         link.add("stu2");
         link.add("stu3");
         link.add("stu4");
         //打印集合中的元素
         System.out.println(link.toString());
         //在集合中插入元素
         link.add(3,"Student");
         //在集合的第一個位置插入元素
         link.addFirst("李龍");
         System.out.println(link);
         //取出集合中的第一個元素
         System.out.println(link.getFirst());
         //刪除集合中的元素
         link.remove(3);
         //刪除集合中的第一個元素
         link.removeFirst();
         System.out.println(link);
     }
 }

運行結(jié)果

Iterator接口

Iterator主要用于去遍歷Collection中的元素,Iterator也被稱為迭代器。

 package 集合類;
 import java.util.ArrayList;
 import java.util.Iterator;
 public class DieDai {
     public static void main(String[] args) {
         ArrayList list=new ArrayList();
         list.add("好好學習");
         list.add("做一個優(yōu)秀的共產(chǎn)主義接班人");
         list.add("為人民服務");
         list.add("做一個對社會有用的人");
         Iterator it= list.iterator();
         //判斷ArrayList是否存在下一個元素
         while(it.hasNext()){
             Object obj=it.next();
             System.out.println(obj);
         }
     }
 }

運行結(jié)果

在Iterator遍歷的過程中,首先通過hasNext()方法先去判斷集合中是否還存在下一個元素,如果存在元素,通過next()方法取出元素。

foreach循環(huán)

增強for循環(huán),foreach循環(huán)不需要獲得循環(huán)的長度,也不需要通過索引去訪問循環(huán)中的元素,foreach會自動的去遍歷循環(huán)中的每一個元素。

 package 集合類;
 import java.util.ArrayList;
 public class FE {
     public static void main(String[] args) {
         ArrayList list=new ArrayList();
         list.add("hello");
         list.add("world");
         for(Object obj: list){
             System.out.println(obj);
         }
     }
 }

運行結(jié)果

可以看出,增強for循環(huán)在遍歷集合的過程中非常方便,沒有循環(huán)條件,也沒有迭代,循環(huán)的次數(shù)是由循環(huán)中的元素個數(shù)決定的,每次循環(huán)時,增強for循環(huán)都通過變量將當前循環(huán)的元素記住,從而將集合中的元素分別打印出來。

到此這篇關(guān)于Java List接口與Iterator接口及foreach循環(huán)使用解析的文章就介紹到這了,更多相關(guān)Java List接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java切面(Aspect)的多種實現(xiàn)方式

    Java切面(Aspect)的多種實現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于Java切面(Aspect)的多種實現(xiàn)方式,在Java開發(fā)中切面(Aspect)是一種常用的編程方式,用于實現(xiàn)橫切關(guān)注點(cross-cutting concern),需要的朋友可以參考下
    2023-08-08
  • java集合Collection實現(xiàn)類解析ArrayList?LinkedList及Vector

    java集合Collection實現(xiàn)類解析ArrayList?LinkedList及Vector

    這篇文章主要為大家介紹了java集合Collection實現(xiàn)類解析ArrayList?LinkedList及Vector,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • 實例講解Java并發(fā)編程之變量

    實例講解Java并發(fā)編程之變量

    這篇文章主要介紹了實例講解Java并發(fā)編程之變量,本文講解了編寫線程安全需要關(guān)心的共享變量和可變變量,需要的朋友可以參考下
    2015-04-04
  • Java中的String對象數(shù)據(jù)類型全面解析

    Java中的String對象數(shù)據(jù)類型全面解析

    首先String不屬于8種基本數(shù)據(jù)類型,String是一個對象,因為對象的默認值是null,所以String的默認值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性
    2012-11-11
  • PowerDesigner連接數(shù)據(jù)庫的實例詳解

    PowerDesigner連接數(shù)據(jù)庫的實例詳解

    這篇文章主要介紹了PowerDesigner連接數(shù)據(jù)庫的實例詳解的相關(guān)資料,如有疑問請留言或者到本站社區(qū)交流討論,需要的朋友可以參考下
    2017-10-10
  • 詳解SpringMVC的兩種實現(xiàn)方式

    詳解SpringMVC的兩種實現(xiàn)方式

    這篇文章主要介紹了SpringMVC的兩種實現(xiàn)方式,方式一是通過實現(xiàn)Controller接口,方式二是使用注解開發(fā),本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • Springboot訪問templates html頁面過程詳解

    Springboot訪問templates html頁面過程詳解

    這篇文章主要介紹了Springboot訪問templates html頁面過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • java中l(wèi)ist.forEach()和list.stream().forEach()區(qū)別

    java中l(wèi)ist.forEach()和list.stream().forEach()區(qū)別

    這篇文章主要介紹了java中l(wèi)ist.forEach()和list.stream().forEach()區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Commons beanutils組件簡介

    Commons beanutils組件簡介

    這篇文章主要介紹了commons beanutils組件的相關(guān)內(nèi)容,以及部分實例和基本用法,需要的朋友可以參考下
    2017-09-09
  • com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別及設定serverTimezone的方法

    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)

    這篇文章主要介紹了com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別以及設定serverTimezone的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09

最新評論

民勤县| 治多县| 洛扎县| 连江县| 柘荣县| 休宁县| 建始县| 安阳县| 团风县| 邵武市| 武义县| 繁昌县| 青岛市| 郧西县| 丽水市| 河北省| 华阴市| 西平县| 东港市| 仁布县| 临沂市| 四子王旗| 曲沃县| 和硕县| 衡阳县| 松江区| 达日县| 临沂市| 元江| 仙游县| 聂拉木县| 临颍县| 陇西县| 安庆市| 岐山县| 顺昌县| 四会市| 桑日县| 额济纳旗| 民权县| 饶平县|