首頁 > Java > java教程 > 主體

Java List介面、Iterator介面與foreach迴圈的使用方法

王林
發布: 2023-04-20 17:31:08
轉載
1540 人瀏覽過

List接口

List接口繼承Collection接口,屬於單列集合,在List集合中允許出現重複的元素,所有的元素是以一種線性方式進行存儲的,在程式中透過索引來存取集合中的指定元素,元素是順序儲存的,即元素的存入順序和取出順序一致。

ArrayList集合

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));
     }
 }
登入後複製

運行結果

Java List介面、Iterator介面與foreach迴圈的使用方法

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

LinkedList集合

為了解決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);
     }
 }
登入後複製

運行結果

Java List介面、Iterator介面與foreach迴圈的使用方法

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("做一个优秀的共产主义接班人");
         list.add("为人民服务");
         list.add("做一个对社会有用的人");
         Iterator it= list.iterator();
         //判断ArrayList是否存在下一个元素
         while(it.hasNext()){
             Object obj=it.next();
             System.out.println(obj);
         }
     }
 }
登入後複製

運行結果

Java List介面、Iterator介面與foreach迴圈的使用方法

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

foreach循環

增強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);
         }
     }
 }
登入後複製

運行結果

Java List介面、Iterator介面與foreach迴圈的使用方法

可以看出,增強for迴圈在遍歷集合的過程中非常方便,沒有循環條件,也沒有迭代,循環的次數是由迴圈中的元素個數決定的,每次迴圈時,增強for迴圈都會透過變數將目前迴圈的元素記住,從而將集合中的元素分別列印出來。

以上是Java List介面、Iterator介面與foreach迴圈的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板