如何正确的使用java迭代器

如何正确的使用java迭代器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.概念

是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。

2.作用

java中提供了很多种集合,它们在存储元素时,采用的存储方式不同。所以当我们要取出这些集合中的元素时,可以通过一种通用的获取方式来完成。

Collection集合元素的通用获取方式: 在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来;继续再判断,如果还有就再取出来。一直到把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

集合中把这种取元素的方式描述在Iterator接口中。

3.实例

迭代器是java定义的一个接口,在java.util.Iterator包下。该接口有四大方法,便于实现了该接口的集合类进行访问操作。

public interface Iterator<E> { E next(); boolean hasNextO; void remove0; default void forEachRemaining(Consumer<? super E> action); }

实例扩展:

public class Demo {  public static void main(String[] args) {  ActualContainer container = new ActualContainer();  for(int i = 5 ; i < 20 ; i++){  container.add(i);  }    Iterator iterator = container.iterator();  while(iterator.hasNext()){  System.out.println(iterator.next());  }  } } /**  * 迭代器接口,包含有常用的迭代器方法   */ interface Iterator{  public boolean hasNext();    public Object next(); } /**  * 容器接口:包含有获取迭代器的方法   */ interface Container{  public Iterator iterator(); } /**  * 具体实现类  * @author jiaoyuyu  *  */ class ActualContainer implements Container{  private List<Object> list = new ArrayList<>();    public void add(Object obj){  this.list.add(obj);  }    public void remove(Object obj){  this.list.remove(obj);  }    public Object get(int index){  if(index <= (this.list.size() - 1)){  return this.list.get(index);  }  return null;  }      public Iterator iterator() {  return new ActualIterator();  }    private class ActualIterator implements Iterator{  private int pointer = 0;    public boolean hasNext() {  return this.pointer < list.size() ? true : false;  }  public Object next() {  if(this.pointer < list.size()){  Object obj = list.get(pointer);  pointer++;  return obj;  }  return null;  }    } }

关于如何正确的使用java迭代器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。