Java学习笔记91. 对于List类集的迭代 -- 使用ListIterator
2018-03-15 17:26
363 查看
对于类集,可以使用Iterator类进行迭代;对于List类的类集,还有ListIterator可以进行迭代,并具备set方法,可以更改里面的值。
如下例:import java.util.*;
public class demoListIterator{
public static void main(String[] args){
//创建ArrayList集合实例al,添加4个字符串元素
ArrayList<String> al = new ArrayList<String>();
al.add("x");
al.add("O");
al.add("V");
al.add("E");
//输出集合的值
System.out.println(al);
//创建ListIterator迭代器li
ListIterator li = al.listIterator();
//使用迭代器遍历集合,并使用迭代器的set方法,修改集合里面元素的值
while(li.hasNext()){
Object element = li.next();
li.set(element+"+");
}
//使用Iterator迭代器ltr,遍历输出集合里的值
Iterator ltr = al.iterator();
while(ltr.hasNext()){
Object element = ltr.next();
System.out.print(element+" ");
}
System.out.println();
}
}
编译输出
可以发现,集合的值被改变了。这说明,Iterator只能遍历,不能改变值。ListIterator不仅能遍历,还能改变值,或者反向输出。
只不过,ListIterator只能用于List类的集合。Iterator可以用于所有集合。
如下例:import java.util.*;
public class demoListIterator{
public static void main(String[] args){
//创建ArrayList集合实例al,添加4个字符串元素
ArrayList<String> al = new ArrayList<String>();
al.add("x");
al.add("O");
al.add("V");
al.add("E");
//输出集合的值
System.out.println(al);
//创建ListIterator迭代器li
ListIterator li = al.listIterator();
//使用迭代器遍历集合,并使用迭代器的set方法,修改集合里面元素的值
while(li.hasNext()){
Object element = li.next();
li.set(element+"+");
}
//使用Iterator迭代器ltr,遍历输出集合里的值
Iterator ltr = al.iterator();
while(ltr.hasNext()){
Object element = ltr.next();
System.out.print(element+" ");
}
System.out.println();
}
}
编译输出
可以发现,集合的值被改变了。这说明,Iterator只能遍历,不能改变值。ListIterator不仅能遍历,还能改变值,或者反向输出。
只不过,ListIterator只能用于List类的集合。Iterator可以用于所有集合。
相关文章推荐
- Java学习笔记90. 使用迭代方法访问类集
- Effective Java学习笔记: 第58条 对可恢复的情况使用受检异常,对于编程错误使用运行时异常
- 黑马程序员——JAVA学习笔记——类集——(List,Set)
- 13. Java类集 Part 1(类集、Collection接口、List接口、Set接口、SortedSet接口、集合的输出) ----- 学习笔记
- 【Java 学习笔记】 String.split使用心得
- eclipse的几个使用技巧(我的java学习笔记)
- (JAVA SE 学习笔记)Java.SE.第003讲.原生数据类型使用陷阱.Pitfall.of.Primitive.Data.Type
- JAVA学习笔记 -- ”诡异“的List和Array转换
- ireport学习笔记---java应用程序中使用报表篇
- [Java Path Finder][JPF学习笔记][8]几篇使用JPF的论文
- java学习笔记4_Eclipse使用指南和.classpath,.project, /src和/bin
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(1.通过BCS创建External List)
- 学习java多线程的笔记3-使用BlockingQueue阻塞队列来模拟两个线程之间的通信
- [Java Path Finder][JPF学习笔记][8]几篇使用JPF的论文
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(2.复制External List内容)
- 学习Java.对于继承和多态的随堂笔记
- j2me学习笔记【9】——List中复选框的使用实例
- [Java Path Finder][JPF学习笔记][6]jpf-symbc的初步使用
- Hibernate 集合属性List 的使用----Hibernate 学习笔记总结(一)
- [Java Path Finder][JPF学习笔记][6]jpf-symbc的初步使用