java.util.ListIterator<E> 源码分析(JDK1.7)

---------------------------------------------------------------------------------

java.util.ListIterator<E>是一个接口,它的定义如下:

 package java.util;

 public interface ListIterator<E> extends Iterator<E> {
// Operations }

(1)java.util.ListIterator<E>列表集合迭代器,允许按任一方向遍历列表集合、迭代期间可以修改列表集合元素,并获得迭代器在列表中的当前位置

---------------------------------------------------------------------------------

下面来看看java.util.ListIterator<E>接口中具体有哪些方法:

void add(E e) 将指定的元素插入列表
boolean hasNext() 以正向遍历列表时,如果列表迭代器有多个元素,则返回true
boolean hasPrevious() 如果以逆向遍历列表集合,列表迭代器有多个元素,则返回true
E next() 返回列表中的下一个元素
int nextIndex() 返回对next的后续调用所返回的元素的索引
E previous() 返回列表集合中前一个元素
int previousIndex() 返回对previous的后续调用所返回元素的索引
void remove() 从列表中移除由next或previous返回的最后一个元素
void set(E e) 用指定元素替换next或者previous返回的最后一个元素

---------------------------------------------------------------------------------

java.util.ListIterator<E>接口源代码如下:

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

源码(08) -- java.util.ListIterator<E>的更多相关文章

  1. 源码(09) -- java.util.Arrays

    java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...

  2. 源码(06) -- java.util.AbstractList<E>

    java.util.AbstractList<E> 源码分析(JDK1.7) ------------------------------------------------------- ...

  3. JDK1.8源码(五)——java.util.ArrayList 类

    关于 JDK 的集合类的整体介绍可以看这张图,本篇博客我们不系统的介绍整个集合的构造,重点是介绍 ArrayList 类是如何实现的. 1.ArrayList 定义 ArrayList 是一个用数组实 ...

  4. 源码(03) -- java.util.Collection<E>

     java.util.Collection<E> 源码分析(JDK1.7) -------------------------------------------------------- ...

  5. JDK1.8源码(五)——java.util.Vector类

    JDK1.8源码(五)--java.lang. https://www.cnblogs.com/IT-CPC/p/10897559.html

  6. 源码(04) -- java.util.List<E>

    java.util.List<E> 源码分析(JDK1.7) --------------------------------------------------------------- ...

  7. JDK1.8源码(六)——java.util.LinkedList 类

    上一篇博客我们介绍了List集合的一种典型实现 ArrayList,我们知道 ArrayList 是由数组构成的,本篇博客我们介绍 List 集合的另一种典型实现 LinkedList,这是一个有链表 ...

  8. Java源码之 java.util.concurrent 学习笔记01

    准备花点时间看看 java.util.concurrent这个包的源代码,来提高自己对Java的认识,努力~~~ 参阅了@梧留柒的博客!边看源码,边通过前辈的博客学习! 包下的代码结构分类: 1.ja ...

  9. 源码(05) -- java.util.AbstractCollection<E>

    java.util.AbstractCollection<E> 源码分析(JDK1.7) ------------------------------------------------- ...

随机推荐

  1. Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法。_StarSasumi_新浪博客

    Ubuntu"无法解析或打开软件包的列表或是状态文件"的解决办法. (2011-04-30 14:56:14) 转载▼ 标签: ubuntu apt 分类: Ubuntu/Linu ...

  2. iOS开发——Localizable.strings

    这篇写的不多,但是绝对诚意满满.不会像别人一样,要不不详细,要不罗里吧嗦一堆. 1.创建Localizable.strings文件 Command+N—>iOS—>Resource—> ...

  3. 微信公众号支付开发全过程 --JAVA

    按照惯例,开头总得写点感想 ------------------------------------------------------------------ 业务流程 这个微信官网说的还是很详细的 ...

  4. STM32F103外部中断编程

    STM32F103外部中断编程   中断,顾名思义就是停下手头的活,去干另外一件急活,干完急活然后回来继续干手头的活. 单片机和人一样,有时候也有更急的程序需要执行,执行完之后再回来执行之前正在执行的 ...

  5. Druid的简介及功能

    Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss DataSou ...

  6. 理解Twisted与非阻塞编程

    先来看一段代码: # ~*~ Twisted - A Python tale ~*~ from time import sleep # Hello, I'm a developer and I mai ...

  7. http://begin.lydsy.com/JudgeOnline/problem.php?id=2770(PKU2503 Babelfish)

    2770: PKU2503 Babelfish Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2  Solved: 2[Submit][Status][ ...

  8. linux下安装mysql(编译mysql源码)

    编译所需软件地址 http://mysql.mirror.kangaroot.net/Downloads/  -- 下载需要的mysql版本例如mysql-5.5.39.tar.gz    目前还不太 ...

  9. shell 创建带参数的命令方法

    主要用到case in,和shift命令. shift 命令是从参数数组中,删除当前第一个参数. while [ "$1" != "" ] do case $1 ...

  10. windows(win10)下的mysql解压版安装

    1. 到mysql官网 下载mysql : http://dev.mysql.com/downloads/mysql/   ,会提示登陆,注册一个就行了,公司名什么的随便填. 注意区分32,64位.我 ...