Java - java.util.Iterator

迭代器(Iterator) 模式,又叫做游标(Cursor )模式

[java]  view plain  copy
  1. public interface Iterator {               
  2.     boolean hasNext();//是否有下一个,有返回true,否则返回false     
  3.     Object next();// 遍历到下一个     
  4.     void remove();// 删除当前元素     
  5. }  

遍历

[java]  view plain  copy
  1. import java.util.HashSet;  
  2. import java.util.Iterator;  
  3. import java.util.Set;  
  4. /**  
  5.  * 通过迭代函数访问类集,步骤如下 
  6.  *      通过调用类集的iterator()获得对类集的迭代函数 
  7.  *      建立一个调用hasNext()的循环,只要hasNext()返回true,就进行循环迭代 
  8.  *      在循环内部,通过调用next()方法得到每一个元素 
  9.  * hasNext()相当一个指针,最开始指针在第一个元素的前面, 
  10.  *      循环一次指针移动到下一个元素的后面,下下一个元素的前面 
  11.  * 每一种集合类返回的Iterator具体类型可能不同,   
  12.  *      Array可能返回ArrayIterator,Set可能返回 SetIterator, 
  13.  *      Tree可能返回 TreeIterator,但是它们都实现了Iterator接口  
  14.  * 因此,客户端不关心到底是哪种Iterator,它只需要获得这个Iterator接口即可,这就是面向对象的优势  
  15.  */   
  16. public class Demo {    
  17.     public static void main(String[] args) {    
  18.         Set set = new HashSet();  
  19.         set.add("a");  
  20.         set.add("b");  
  21.         set.add("c");  
  22.         Iterator ite = set.iterator();  
  23.         while(ite.hasNext()){  
  24.             System.out.println(ite.next());  
  25.         }  
  26.     }    
  27. }  
`import java.util.Iterator;` 是Java语言中用于导入`Iterator`接口的语句。`Iterator`接口位于`java.util`包中,它提供了一种方法来访问集合(Collection)对象的每一个元素,而不必关心集合的内部结构。 `Iterator`接口主要包含以下方法: 1. `boolean hasNext()`:用于检查是否存在下一个元素,如果存在则返回`true`,否则返回`false`。 2. `E next()`:返回集合中的下一个元素,并将迭代器的位置移动到下一个元素。 3. `void remove()`:删除由`next()`方法返回的最后一个元素,此方法必须在调用`next()`之后才能使用,否则会抛出`IllegalStateException`异常。 使用`Iterator`可以安全地在遍历集合的过程中修改集合(例如删除元素),这是因为迭代器在遍历集合时能够提供一种结构性的遍历方式,这比直接使用索引或计数器来遍历集合更安全。 下面是一个简单的使用`Iterator`遍历`List`集合的示例代码: ```java import java.util.ArrayList; import java.util.Iterator; public class IteratorExample { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("元素1"); list.add("元素2"); list.add("元素3"); Iterator<String> iterator = list.iterator(); while(iterator.hasNext()) { String element = iterator.next(); System.out.println(element); // 可以在此处安全地删除元素 // iterator.remove(); } } } ``` 在这个示例中,我们创建了一个`ArrayList`集合,并添加了三个字符串元素。然后我们通过`iterator()`方法获取了`Iterator`实例,并使用`while`循环遍历集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值