您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java List接口與Iterator接口及foreach循環使用的方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java List接口與Iterator接口及foreach循環使用的方法”文章能幫助大家解決問題。
List接口繼承Collection接口,屬于單列集合,在List集合中允許出現重復的元素,所有的元素是以一種線性方式進行存儲的,在程序中通過索引來訪問集合中的指定元素,元素是順序存儲的,即元素的存入順序和取出順序一致。
ArrayList是List接口的一個實現類,在ArrayList內部封裝了一個長度可變的數組對象。
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)); } }
運行結果
由運行結果可知,ArrayList和數組索引都是從0開始的,由于ArrayList集合的底層是使用一個數組來保存元素的,在進行增加或刪除指定位置的元素時,會導致創建一個新的數組,效率比較低,因此不適合進行大量的增刪操作,但是可以通過索引來查找元素,這也增加了查找元素的效率。
為了解決ArrayList集合在增刪元素的效率低的問題,引入了LinkList集合,在LinkList集合的內部維護了一個雙向的循環鏈表,鏈表的每一個元素都使用引用的方式來記住它的前一個元素和后一個元素,因此可以將所有的元素連接起來,當插入一個新元素時,只需要修改元素之間的引用關系,這樣可以增加對于元素進行增刪操作的效率。
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); } }
運行結果
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("做一個優秀的共產主義接班人"); list.add("為人民服務"); list.add("做一個對社會有用的人"); Iterator it= list.iterator(); //判斷ArrayList是否存在下一個元素 while(it.hasNext()){ Object obj=it.next(); System.out.println(obj); } } }
運行結果
在Iterator遍歷的過程中,首先通過hasNext()方法先去判斷集合中是否還存在下一個元素,如果存在元素,通過next()方法取出元素。
增強for循環,foreach循環不需要獲得循環的長度,也不需要通過索引去訪問循環中的元素,foreach會自動的去遍歷循環中的每一個元素。
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); } } }
運行結果
可以看出,增強for循環在遍歷集合的過程中非常方便,沒有循環條件,也沒有迭代,循環的次數是由循環中的元素個數決定的,每次循環時,增強for循環都通過變量將當前循環的元素記住,從而將集合中的元素分別打印出來。
關于“Java List接口與Iterator接口及foreach循環使用的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。