static void testListIteratorAdd(){
LinkedList<String> strList = new LinkedList<String>();
strList.add("1");
strList.add("2");
strList.add("3");
print("init content:");
printCollection(strList); ListIterator<String> it = strList.listIterator();
it.next();
it.add("1.1");
it.add("1.2"); print("after insert 2 item");
printCollection(strList);
}

输出如下,基本和预期一致,可以连续add,每次add的时候就相当于在光标后面插入,此时可以把迭代器想象为光标。

init content:
collection content:
item:1
item:2
item:3
after insert 2 item
collection content:
item:1
item:1.1
item:1.2
item:2
item:3

关于ListIterator.remove的测试

static void testListIteratorRemove(){
LinkedList<String> strList = new LinkedList<String>();
strList.add("1");
strList.add("2");
strList.add("3");
print("init content:");
printCollection(strList); ListIterator<String> it = strList.listIterator();
it.next();
it.remove();//ok print("after remove 1 item");
printCollection(strList); it.remove();//error
print("after remove 2 item");
printCollection(strList);
}

输出如下,也就是说,ListIterator.remove是依赖于迭代器的状态的,每次调用remove之前,必须先调用一次next或者previous函数。

init content:
collection content:
item:1
item:2
item:3
after remove 1 item
collection content:
item:2
item:3
Exception in thread "main" java.lang.IllegalStateException
at java.util.LinkedList$ListItr.remove(LinkedList.java:923)
at me.ygc.javabasic.learnJava.LearnCollection.testListIteratorRemove(LearnCollection.java:33)
at me.ygc.javabasic.learnJava.LearnCollection.main(LearnCollection.java:15)

最新文章

  1. 【转】去除eclipse的JS验证
  2. codevs1409 拦截导弹2
  3. [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子
  4. linux 命令大全(转)
  5. iOS开发UI篇-实现tableView的层级显示
  6. the private key for is not installed on this mac
  7. 用CAGradientLayer实现渐变色动画
  8. Node.js中读取文件后用Json.parse方法报错
  9. (转载)iptables 转发oracle端口
  10. 转载 java基础题(面试必知)
  11. R语言-推荐系统
  12. linux安装ftp
  13. PCMM(人力资源能力成熟度模型)V2.0中英对照版发布
  14. codeforces-1132 (div2)
  15. 看看大网站都用什么操作系统和Web服务器
  16. 洛谷P1182 数列分段【二分】【贪心】
  17. 【Spring源码分析系列】启动component-scan类扫描加载过程
  18. WebGL学习笔记四点一
  19. 解决h5py的FutureWarning问题
  20. 第十章 消息驱动的微服务: Spring Cloud Stream

热门文章

  1. Office 2013 激活工具
  2. 获取tomcat上properties文件的内容——方便文件存储位置的修改,解耦和
  3. myeclipe eclipse 常遇问题:Some projects cannot be imported 、java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver、The file connot be validate
  4. mysql启动不成功显示The server quit without updating PID file的解决方法
  5. gunplot demo
  6. 初识selenium-grid
  7. 多次访问节点的DFS POJ 3411 Paid Roads
  8. 怎么运用ZBrush中的Z球制作身体部分
  9. 边工作边刷题:70天一遍leetcode: day 88
  10. python中怎么查看当前工作目录和更改工作目录