当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Iterable用法及代码示例


可迭代JDK 1.5 中引入了接口。它属于java.lang包。一般来说,实现 Iterable 的对象允许它被迭代。可迭代接口允许对象成为增强的for循环(for-each 循环)。

可迭代的定义

public interface Iterable<T>
{
  Iterator<T>    iterator();
  
  Spliterator<T> spliterator();

  void           forEach(Consumer<? super T> action);
}

这里,T是迭代器返回的元素的类型。

迭代的方式

Iterable 对象可以通过三种方式进行迭代。

  1. 使用enhanced for loop(for-each循环)
  2. 使用 Iterable forEach 循环
  3. 使用迭代器<T>接口

使用增强的 for 循环迭代 Iterable

实现 Collection 接口的类的对象可以使用 for-each 循环进行迭代,Collection 接口扩展了 Iterable 接口。

Java


// Java Program to demonstrate iterate  
// an iterable using for-each loop 
  
import java.io.*; 
import java.util.*; 
  
class IterateUsingEnhancedForLoop { 
    public static void main (String[] args) { 
          
      // create a list 
      List<String> list = new ArrayList<String>(); 
  
      // add elements 
      list.add("Geeks"); 
      list.add("for"); 
      list.add("Geeks"); 
  
      // Iterate through the list 
      for( String element : list ){ 
          System.out.println( element ); 
      } 
    } 
} 
输出
Geeks
for
Geeks

使用 forEach 循环迭代 Iterable

Iterable forEach()方法采用拉姆达表达式作为参数。集合中的每个元素都会调用此 Lambda 表达式。在下面的示例中,对于每个元素对于列表,该函数将元素打印到控制台。

Java


// Java Program to demonstrate iterate 
// an Iterable using forEach method 
  
import java.io.*; 
import java.util.*; 
  
class IterateUsingforEach { 
    public static void main(String[] args) 
    { 
          // create a list 
        List<String> list = new ArrayList<>(); 
  
          // add elements to the list 
        list.add("Geeks"); 
        list.add("for"); 
        list.add("Geeks"); 
  
          // Iterate through the list 
        list.forEach( 
            (element) -> { System.out.println(element); }); 
    } 
}
输出
Geeks
for
Geeks

使用 Iterator 迭代 Iterable

我们可以通过使用 iterator() 方法从中获取 Iterator 来迭代 Java Iterable 的元素。

使用 Iterator 遍历集合来执行操作时使用的方法是:

  • hasNext():如果到达集合末尾,则返回 false,否则返回 true。
  • next():返回集合中的下一个元素。
  • remove():从集合中删除迭代器返回的最后一个元素。
  • forEachRemaining():按顺序对集合中的每个剩余元素执行给定操作。

Java


// Java Program to demonstrate iterate 
// an Iterable using an Iterator 
  
import java.io.*; 
import java.util.*; 
  
class IterateUsingIterator { 
    public static void main(String[] args) 
    { 
        List<String> list = new ArrayList<>(); 
  
        list.add("Geeks"); 
        list.add("for"); 
        list.add("Geeks"); 
  
        Iterator<String> iterator = list.iterator(); 
  
        while (iterator.hasNext()) { 
            String element = iterator.next(); 
            System.out.println(element); 
        } 
    } 
}
输出
Geeks
for
Geeks

可迭代的方法

METHOD

DESCRIPTION

Iterable forEach() 对 Iterable 的每个元素执行给定的操作,直到处理完所有元素或该操作引发异常。
iterator() 返回 T 类型元素的迭代器。
spliterator() 在此 Iterable 说明的元素上创建 Spliterator

必读

参考:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html



相关用法


注:本文由纯净天空筛选整理自Ganeshchowdharysadanala大神的英文原创作品 Iterable Interface in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。