在Java中,有多少種方法可以檢索集合的元素?


您可以透過三種方式檢索集合物件的內容:

使用foreach迴圈

foreach迴圈或增強型for迴圈允許您按順序遍歷整個集合物件。

示例

 線上演示

import java.util.ArrayList;
public class RetrievingData {
   public static void main(String[] args) {
      ArrayList <String> list = new ArrayList<String>();
      //Instantiating an ArrayList object
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the array list: ");
      for (String e: list)
         System.out.println(e);
   }
}

輸出

Contents of the array list:
JavaFX
Java
WebGL
OpenCV
OpenNLP
JOGL
Hadoop
HBase
Flume
Mahout
Impala

使用迭代器

Java提供Iterator和ListIterator類來檢索集合物件的元素。

  • 這些介面的**hasNext()**方法如果集合物件有下一個元素則返回true,否則返回false。

  • Iterator和ListIterator的**next()**方法返回集合的下一個元素。

使用這兩個方法,您可以從迭代器物件中檢索內容。

  • 類似地,ListIterator的**previous()**方法返回集合的上一個元素,hasPrevious()確定當前集合物件是否有上一個元素。

您可以使用Iterator和ListIterator()方法獲取集合的Iterator或ListIterator物件。

示例

 線上演示

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class RetrievingData {
   public static void main(String[] args) {
      ArrayList <String> list = new ArrayList<String>();
      //Instantiating an ArrayList object
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the array list (first to last): ");
      Iterator it = list.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
      System.out.println("Contents of the array list (last to first): ");
      ListIterator lit = list.listIterator();
      while(lit.hasNext()) {
         lit.next();
      }
      while(lit.hasPrevious()) {
         System.out.println(lit.previous());
      }
   }
}

輸出

Contents of the array list (first to last):
JavaFX
Java
WebGL
OpenCV
OpenNLP
JOGL
Hadoop
HBase
Flume
Mahout
Impala
Contents of the array list (last to first):
Impala
Mahout
Flume
HBase
Hadoop
JOGL
OpenNLP
OpenCV
WebGL
Java
JavaFX

使用列舉

Enumeration類包含一個名為**hasMoreElements()**的方法,如果當前物件在當前位置之後包含更多元素,則返回true(否則返回false)。

如果您呼叫Enumeration類的nextElement()方法,則返回當前列舉物件中的下一個元素。

使用這兩個方法,您可以檢索集合物件的內容。

示例

 線上演示

import java.util.Enumeration;
import java.util.Vector;
public class EnumerationExample {
   public static void main(String args[]) {
      //instantiating a Vector
      Vector<Integer> vec = new Vector<Integer>( );
      //Populating the vector
      vec.add(1254);
      vec.add(4587);
      vec.add(5211);
      vec.add(4205);
      vec.add(1124);
      vec.add(8115);
      //Retrieving the elements using the Enumeration
      Enumeration<Integer> en = vec.elements();
      while(en.hasMoreElements()) {
         System.out.println(en.nextElement());
      }
   }
}

輸出

1254
4587
5211
4205
1124
8115

更新於:2019年10月14日

3K+ 瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.