在 Java 中,有多少种方法可以检索集合的元素?
javaobject oriented programmingprogramming更新于 2024/8/26 12:36:00
您可以通过三种方式检索集合对象的内容 −
使用 for each 循环
foreach 循环或增强的 for 循环,使您能够按顺序遍历整个集合对象。
示例
import java.util.ArrayList; public class RetrievingData { public static void main(String[] args) { ArrayList <String> list = new ArrayList<String>(); //实例化 ArrayList 对象 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>(); //实例化 ArrayList 对象 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()的方法,如果当前对象在当前位置之后包含更多元素,则该方法返回 true(否则返回 false)。
如果调用枚举类的 nextElement() 方法,则返回当前枚举对象中的下一个元素。
使用这两个方法,您可以检索集合对象的内容。
示例
import java.util.Enumeration; import java.util.Vector; public class EnumerationExample { public static void main(String args[]) { //实例化 Vector Vector<Integer> vec = new Vector<Integer>( ); //填充向量 vec.add(1254); vec.add(4587); vec.add(5211); vec.add(4205); vec.add(1124); vec.add(8115); //使用枚举检索元素 Enumeration<Integer> en = vec.elements(); while(en.hasMoreElements()) { System.out.println(en.nextElement()); } } }
输出
1254 4587 5211 4205 1124 8115