迭代器的ListIterator和区别?迭代器的ListIterator和区别?(Differenc

2019-05-17 14:41发布

Iterator ite = Set.iterator();
Iterator ite = List.iterator();

ListIterator listite = List.listIterator();

我们可以使用Iterator遍历SetListMap 。 但是ListIterator只能用于遍历一个List ,它不能遍历Set 。 为什么?

我知道,主要的区别在于迭代器,我们可以只在一个方向行进,但与ListIterator我们可以前往两个方向。 是否还有其他的区别吗? 和任何优势ListIteratorIterator

Answer 1:

的差异在Javadoc上市的ListIterator

您可以

  • 向后遍历
  • 获得在任何点的迭代器。
  • 在任何时候增加新的价值。
  • 设置在该点的新值。


Answer 2:

有两点不同:

  1. 我们可以使用迭代器遍历Set和List,也地图对象的类型。 虽然的ListIterator可用于遍历的列表类型的对象,而不是集合类型的对象。

    也就是说,我们可以通过设置和列表,看到这里得到一个Iterator对象:

    通过使用迭代器,我们可以检索集合对象仅在前进方向的元素。

    方法在迭代器:

    1. hasNext()
    2. next()
    3. remove()
     Iterator iterator = Set.iterator(); Iterator iterator = List.iterator(); 
  2. 但是,我们得到的只是从List接口的ListIterator对象,在这里看到:

    其中作为一个的ListIterator允许在任一方向(向前和向后)遍历。 所以,它有两个方法,如hasPrevious()previous()比Iterator的其他。 此外,我们可以得到一个或下一个元素的索引(使用nextIndex()previousIndex()分别为)

    在方法的ListIterator:

    1. hasNext()
    2. 下一个()
    3. 以前()
    4. hasPrevious()
    5. 去掉()
    6. nextIndex()
    7. previousIndex()
     ListIterator listiterator = List.listIterator(); 

    也就是说,我们无法从Set接口的ListIterator对象。

参考: - 什么是迭代器和的ListIterator之间的区别?



Answer 3:

迭代器是超一流的ListIterator的。

下面是他们之间的区别:

  1. 随着iterator你只能向前移动,但随着ListIterator ,你可以一边看元素也移动backword。
  2. 随着ListIterator您可以在遍历任何一点,这是不可能获得的指标iterator秒。
  3. 随着iterator ,你可以只检查可用与否下一个元素,但在listiterator你可以检查一个和下一个元素。
  4. 随着listiterator你可以在任何时候添加新的元素,在遍历。 不可能的iterator
  5. 随着listiterator可以修改,而穿越的元素,这是不可能的iterator

迭代器外观和感觉:

 public interface Iterator<E> {
    boolean hasNext();
    E next();
    void remove(); //optional-->use only once with next(), 
                         dont use it when u use for:each
    }

的ListIterator外观和感觉:

public interface ListIterator<E> extends Iterator<E> {
    boolean hasNext();
    E next();
    boolean hasPrevious();
    E previous();
    int nextIndex();
    int previousIndex();
    void remove(); //optional
    void set(E e); //optional
    void add(E e); //optional
}


Answer 4:

优势ListIteratorIterator是我们可以在遍历使用的ListIterator名单在任何时间点添加元素



文章来源: Difference between Iterator and Listiterator?