Java 集合中 next() 和 hasNext() 的区别是什么?

javaobject oriented programmingprogramming

Java 提供了 Iterator 和 ListIterator 类来检索集合对象的元素。

hasNext() 方法

如果集合对象具有下一个元素,则这些接口的 hasNext() 方法返回 true,否则返回 false。

示例

import java.util.ArrayList;
import java.util.Iterator;
public class hasNextExample{
   public static void main(String[] args){
      ArrayList <String> list = new ArrayList<String>();
      //实例化 ArrayList 对象
      list.add("JavaFX");
      list.add("Java");
      Iterator<String> it = list.iterator();
      System.out.println(it.hasNext());
      it.next();
      System.out.println(it.hasNext());
      it.next();
      System.out.println(it.hasNext());
   }
}

输出

true
true
false

next() 方法

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

示例

import java.util.ArrayList;
import java.util.Iterator;
public class nextExample{
   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("数组列表的内容(从第一个到最后一个):");
      Iterator<String> it = list.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

输出

数组列表的内容(从第一个到最后一个):
JavaFX
Java
WebGL
OpenCV
OpenNLP
JOGL
Hadoop
HBase
Flume
Mahout
Impala

相关文章