欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

List接口

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

ArrayList集合

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

 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("集合的長(zhǎng)度:"+list.size());
         System.out.println("第二個(gè)元素是:"+list.get(1));
     }
 }

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

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

LinkedList集合

為了解決ArrayList集合在增刪元素的效率低的問(wèn)題,引入了LinkList集合,在LinkList集合的內(nèi)部維護(hù)了一個(gè)雙向的循環(huán)鏈表,鏈表的每一個(gè)元素都使用引用的方式來(lái)記住它的前一個(gè)元素和后一個(gè)元素,因此可以將所有的元素連接起來(lái),當(dāng)插入一個(gè)新元素時(shí),只需要修改元素之間的引用關(guān)系,這樣可以增加對(duì)于元素進(jì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");
         //在集合的第一個(gè)位置插入元素
         link.addFirst("李龍");
         System.out.println(link);
         //取出集合中的第一個(gè)元素
         System.out.println(link.getFirst());
         //刪除集合中的元素
         link.remove(3);
         //刪除集合中的第一個(gè)元素
         link.removeFirst();
         System.out.println(link);
     }
 }

運(yùn)行結(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("好好學(xué)習(xí)");
         list.add("做一個(gè)優(yōu)秀的共產(chǎn)主義接班人");
         list.add("為人民服務(wù)");
         list.add("做一個(gè)對(duì)社會(huì)有用的人");
         Iterator it= list.iterator();
         //判斷ArrayList是否存在下一個(gè)元素
         while(it.hasNext()){
             Object obj=it.next();
             System.out.println(obj);
         }
     }
 }

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

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

foreach循環(huán)

增強(qiáng)for循環(huán),foreach循環(huán)不需要獲得循環(huán)的長(zhǎng)度,也不需要通過(guò)索引去訪問(wèn)循環(huán)中的元素,foreach會(huì)自動(dòng)的去遍歷循環(huán)中的每一個(gè)元素。

 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);
         }
     }
 }

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

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

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

相關(guān)文章

  • java8新特性之接口默認(rèn)方法示例詳解

    java8新特性之接口默認(rèn)方法示例詳解

    這篇文章主要給大家介紹了關(guān)于java8新特性之接口默認(rèn)方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java8具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java inputstream和outputstream使用詳解

    Java inputstream和outputstream使用詳解

    這篇文章主要介紹了Java inputstream和outputstream使用詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • MybatisPlus中插入數(shù)據(jù)后獲取該對(duì)象主鍵值的實(shí)現(xiàn)

    MybatisPlus中插入數(shù)據(jù)后獲取該對(duì)象主鍵值的實(shí)現(xiàn)

    這篇文章主要介紹了MybatisPlus中插入數(shù)據(jù)后獲取該對(duì)象主鍵值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 詳解spring注解配置啟動(dòng)過(guò)程

    詳解spring注解配置啟動(dòng)過(guò)程

    這篇文章主要為大家詳細(xì)介紹了詳解spring注解配置啟動(dòng)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • SpringBoot通過(guò)請(qǐng)求對(duì)象獲取輸入流無(wú)數(shù)據(jù)

    SpringBoot通過(guò)請(qǐng)求對(duì)象獲取輸入流無(wú)數(shù)據(jù)

    這篇文章主要介紹了使用SpringBoot通過(guò)請(qǐng)求對(duì)象獲取輸入流無(wú)數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot中web模板渲染的實(shí)現(xiàn)

    SpringBoot中web模板渲染的實(shí)現(xiàn)

    本文主要介紹了SpringBoot中web模板渲染的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • RocketMQ設(shè)計(jì)之主從復(fù)制和讀寫分離

    RocketMQ設(shè)計(jì)之主從復(fù)制和讀寫分離

    這篇文章主要介紹了RocketMQ設(shè)計(jì)之主從復(fù)制和讀寫分離,RocketMQ提高消費(fèi)避免Broker發(fā)生單點(diǎn)故障引起B(yǎng)roker上的消息無(wú)法及時(shí)消費(fèi),下文關(guān)于了RocketMQ的相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • Mybatis批量插入的三種實(shí)現(xiàn)方法

    Mybatis批量插入的三種實(shí)現(xiàn)方法

    在日常開(kāi)發(fā)中,如果要操作數(shù)據(jù)庫(kù)的話,或多或少都會(huì)遇到批量數(shù)據(jù)的處理,本文主要介紹了Mybatis批量插入的三種實(shí)現(xiàn)方法,感興趣的可以了解一下
    2023-10-10
  • Mybatis如何實(shí)現(xiàn)關(guān)聯(lián)屬性懶加載

    Mybatis如何實(shí)現(xiàn)關(guān)聯(lián)屬性懶加載

    這篇文章主要介紹了Mybatis如何實(shí)現(xiàn)關(guān)聯(lián)屬性懶加載的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法

    詳解springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法

    在本篇文章中我們給大家詳細(xì)分享了springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法,有需要的朋友們可以學(xué)習(xí)參考下。
    2018-10-10

最新評(píng)論