迭代器的简单说明
来源:互联网 发布:21天学通java 买第几版 编辑:程序博客网 时间:2024/06/05 10:51
迭代器对象:
Iterator:迭代器对象,只能从上往下迭代;
Boolean hasNext():判断指针后是否有下一个元素
Object next():获取指针的下一个元素,并且移动指针
ListIterator:是Iterator接口的子接口,支持双向迭代,从上往下迭代,或从下往上迭代
Enumeration:古老的迭代器对象,现在已经被Iterator取代,适用于古老的Vector类。
深入分析for-each和迭代器:
1、foreach可以操作数组:底层依然采用for循环,索引来获取数组;
2、foreach可以操作Iterable的实例:底层其实采用Itertor(迭代器)。
for-each语法格式:
for(类型 变量:数组名/Iterable的实例){
//TODO
}
而且只能使用迭代器对象的remove方法。
Iterator:迭代器对象,只能从上往下迭代;
Boolean hasNext():判断指针后是否有下一个元素
Object next():获取指针的下一个元素,并且移动指针
ListIterator:是Iterator接口的子接口,支持双向迭代,从上往下迭代,或从下往上迭代
Enumeration:古老的迭代器对象,现在已经被Iterator取代,适用于古老的Vector类。
深入分析for-each和迭代器:
1、foreach可以操作数组:底层依然采用for循环,索引来获取数组;
2、foreach可以操作Iterable的实例:底层其实采用Itertor(迭代器)。
for-each语法格式:
for(类型 变量:数组名/Iterable的实例){
//TODO
}
接下来查看一下集合元素的迭代/遍历:
//集合元素的迭代/遍历操作public class IteratorDemo {public static void main(String[] args) {List list = new ArrayList();list.add("A");list.add("B");list.add("C");//方式1:for循环for (int index = 0; index < list.size(); index++) {Object ele = list.get(index);//取出指定索引位置的元素System.out.print(ele);}System.out.println();System.out.println("--------------------------");//方式2:for-each增强for循环for (Object object : list) {System.out.print(object);}System.out.println();System.out.println("--------------------------");//方式3:使用while循环操作迭代器IteratorIterator it = list.iterator();while(it.hasNext()){System.out.print(it.next());}System.out.println();System.out.println("--------------------------");//方式4:使用for循环来曹组迭代器Iteratorfor (Iterator it1 = list.iterator(); it1.hasNext();) {System.out.print(it1.next());}System.out.println();System.out.println("--------古老的分割线-------");//还有一种非常古老的迭代器Vector v = new Vector();v.add("A");v.add("B");v.add("C");//古老的迭代器对象Enumeration en = v.elements();while(en.hasMoreElements()){Object ele = en.nextElement();System.out.print(ele);}}}
其实通过反编译,你会发现,for-each语法其实也是语法糖,其底层依旧使用for循环:
而且只能使用迭代器对象的remove方法。
阅读全文
0 0
- 迭代器的简单说明
- log4net简单的说明
- pickerView的简单说明
- jsessionid的简单说明
- Cursor的简单说明
- GPUImage 的简单说明
- MeasureSpec的简单说明
- YALMIP的简单说明
- JsonElement的简单说明
- FMDB 的简单说明
- log的简单说明
- jsessionid的简单说明
- VARCHAR2的简单说明
- GPUImage 的简单说明
- Markdown的简单说明
- jsessionid的简单说明
- MeasureSpec的简单说明
- c3p0的简单说明
- 红皮书实例总结
- SQL总结
- 欢迎使用CSDN-markdown编辑器
- CSS外边距合并问题
- c++开发编程
- 迭代器的简单说明
- Makefile
- Linux系统中软链接和硬链接的区别
- java关于时间处理的函数
- Maximum Product of Three Numbers问题解法
- 泛型的详解
- poj 2653 Pick-up sticks【线段相交】
- Waiting for table metadata lock
- C语言-求两个日期之间的距离