Java集合中next()和hasNext()方法的区别

Java集合中next()和hasNext()方法的区别

在Java中,对象是使用对象动态存储的。现在,为了遍历这些对象,要使用for-each循环、迭代器和比较器。这里将讨论一下迭代器。迭代器接口允许逐个访问容器中的元素,这间接地意味着只在前进方向上检索集合中的元素。

这个接口由三种方法组成。

1.next()
2.hasNext()
3.remove()

Java集合中next()和hasNext()方法的区别

(A) hasNext()方法

hasNext()方法用于检查List中是否还有任何元素。这个方法是一个布尔类型的方法,它只返回真和假,因为它只是用来检查的。Iterator和List Iterator的hasNext()方法,如果在遍历过程中用于检查指向的元素是否有下一个元素的集合对象,则返回true。如果没有,则简单地返回false。所以。

返回值:
True – 如果迭代有更多的元素
False – 如果迭代中没有更多的元素

返回类型: boolean

示例:

// Java program to demonstrate
// the use of hasNext() method
 
// Importing java input output classes
// Importing all classesfrom
// java.util package
import java.io.*;
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList
        // Declaring the ArrayList
        ArrayList<String> list = new ArrayList<String>();
 
        // Adding (appending) new elements at
        // the end of the List
        // Custom inputs
        list.add("Geeks");
        list.add("for Geeks");
 
        // Declaring the Iterator
        Iterator<String> iterator = list.iterator();
 
        // Printing hasNext() values
        // Prints true because iterator has two more values
        System.out.println(iterator.hasNext());
 
        // Go to next value using next() method
        iterator.next();
 
        // Prints true because iterator has one more values
        System.out.println(iterator.hasNext());
 
        // Go to next value using next() method
        iterator.next();
 
        // Prints false because iterator has no more values
        System.out.println(iterator.hasNext());
    }
}
Java

输出:

true
true
false
Java

(B) next()方法

如果有一个元素在hasNext()返回了false之后,要对其进行一些执行,那么这个方法被用来显示这个元素,在这个方法的帮助下,这个元素应该被执行下去。迭代器和列表迭代器的next()方法返回集合的下一个元素。如果需要移除这个元素,可以使用remove()方法。

返回类型: 如ArrayList, Linked List ,等。

返回值: 迭代中的下一个元素。

例外情况: 如果该迭代没有更多的元素。

示例:

// Java program to demonstrate
// the use of next() method
 
// Importing java input output classes
import java.io.*;
// Importing all classes from
// java.util package
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an ArrayList
        // (Declaring ArrayList of String type)
        ArrayList<String> list = new ArrayList<String>();
 
        // Adding elements to above List at
        // the end of the list
        // Custom inputs
        list.add("Element1");
        list.add("Element2");
        list.add("Element3");
 
        // Declaring the Iterator
        Iterator<String> iterator = list.iterator();
 
        // Printing values showcasing next() method which
        // shows traversal over elements
        // only in forward direction
 
        // Prints first element traversed
        System.out.println(iterator.next());
 
        // Prints the succeeding element
        System.out.println(iterator.next());
 
        // Prints another element succeeding
        // to previous element
        System.out.println(iterator.next());
    }
}
Java

输出:

Element1
Element2
Element3
Java

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册