当前位置:  首页>> 技术小册>> Java语言基础10-Java中的集合

  • List 接口提供了获取 ListIterator 的方法,该方法返回一个 ListIterator 对象:
  1. ListIterator<E> listIterator();
  1. // 如果从后向前遍历,index就是最后一个元素的索引,即list的size()
  2. ListIterator<E> listIterator(int index);
  • ListIterator 接口继承了 Iterator 接口,提供了专门操作 List 的方法:
    ○ 是否有下一个元素:
  1. boolean hasNext();

○ 返回下一个元素:

  1. E next();

○ 返回后一个元素的索引:

  1. int nextIndex();

○ 返回前一个元素的索引:

  1. int previousIndex();

○ 逆向遍历集合,向前是否还有元素:

  1. boolean hasPrevious();

○ 获取前一个元素:

  1. E previous();

○ 通过迭代器添加元素到集合中:

  1. void add(E e);

○ 通过迭代器替换元素:

  1. void set(E e);
  • 示例:
  1. package com.github.list.demo10;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.ListIterator;
  5. /**
  6. * @author maxiaoke.com
  7. * @version 1.0
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. list.add("aa");
  17. for (ListIterator<String> iterator = list.listIterator(list.size()); iterator.hasPrevious();) {
  18. String previous = iterator.previous();
  19. System.out.println(previous);
  20. }
  21. }
  22. }