คุณสามารถดึงเนื้อหาของวัตถุคอลเลกชันได้สามวิธี -
การใช้สำหรับแต่ละลูป
foreach loop หรือ Enhanced for loop ซึ่งช่วยให้คุณสามารถสำรวจวัตถุคอลเลกชันทั้งหมดตามลำดับได้
ตัวอย่าง
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() เมธอดของอินเทอร์เฟซเหล่านี้จะคืนค่าเป็น จริง หากวัตถุคอลเลกชันมีองค์ประกอบถัดไป มิฉะนั้นจะคืนค่าเป็นเท็จ
-
ถัดไป() เมธอดของ Iterator และ ListIterator จะคืนค่าองค์ประกอบถัดไปของคอลเล็กชัน
คุณสามารถใช้สองวิธีนี้เพื่อดึงเนื้อหาจากวัตถุ iterator
-
ในทำนองเดียวกัน previous() วิธีการของ ListIterator ส่งกลับองค์ประกอบก่อนหน้าของคอลเลกชันและ 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
การใช้การแจงนับ
คลาสการแจงนับประกอบด้วยเมธอดชื่อ hasMoreElements() ซึ่งคืนค่า จริง หากวัตถุปัจจุบันมีองค์ประกอบมากกว่าหลังจากตำแหน่งปัจจุบัน (มิฉะนั้นจะส่งกลับค่าเท็จ)
หากคุณเรียกใช้เมธอด nextElement() ของคลาส Enumeration จะคืนค่าองค์ประกอบถัดไปในอ็อบเจ็กต์การแจงนับปัจจุบัน
คุณสามารถใช้สองวิธีนี้เพื่อดึงเนื้อหาของวัตถุคอลเลกชัน
ตัวอย่าง
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