复习(数据结构:java):线性表(数组):迭代器
来源:互联网 发布:游族网络股票吧 编辑:程序博客网 时间:2024/04/29 06:42
10. 迭代器
ArrayIntListIterator()
* 迭代的基本方法
1.
2.
3.
1. 设计用例和接口
//输入{5,19,0,2,4,0,13,85,-8,0,23};//输出非0元素的乘积public class client2{ public static void main(String[] args){ int[] data={5,19,0,2,4,0,13,85,-8,0,23}; ArrayIntList list = new ArrayIntList(); for(int n:data) list.add(n); ArrayIntListIterator i = list.iterator(); int producet = 1; while(i.hasNext()){ int n=i.next(); if(n == 0) i.remove(); else producet *= n; } System.out.println("list+ "=list); System.out.println("producet = "+producet); }}
2.设计类
import java.util.*;public class ArrayIntListIterator{ private ArrayIntListIterator list; //list to iterate over private int position; //current list position private boolean removeOK; //ok to move now? //构造函数 public ArrayIntListIterator(ArrayIntList list){ this.list=list; position=0; removeOK=false; } public boolean hasNext(){ return position<list.size(); } public int next(){ if(!hasNext()) throw new NoSuchElementException(); int result =list.get(position); position++; removeOK=true; return result; } public void remove(){ if(!removeOK) throw new IllegalStateEXception(); list.remove(position-1); position--; removeOK = false; }}
2. ArrayIntList中,添加iterator 构造器
- 在类
ArrayIntList 中,添加构造器
public ArrayIntListIterator iterator(){ return new ArrayIntListIterator(this))}
0 0
- 复习(数据结构:java):线性表(数组):迭代器
- 复习(数据结构:java):线性表(数组):基础类设计
- 复习(数据结构:java):线性表(数组):接口的写法
- 复习(数据结构:java):线性表(数组):泛型的写法
- 数据结构复习——线性表(一)数组
- 复习 [数据结构] ---- 线性表
- 数据结构复习-线性表
- 【数据结构复习】线性表
- 数据结构复习篇:线性表
- 数据结构复习篇:线性表
- 数据结构复习之【线性表】
- 数据结构重新复习-线性表
- 数据结构复习一:线性表
- 《数据结构》复习笔记--线性表
- 数据结构复习之线性表
- 数据结构之【线性表】--复习
- 复习(数据结构):线性表 : C
- 复习-数据结构之线性表
- VTK: VTK Error 问题集
- Java GC堆和jvm参数设置
- spring bean id和bean name的区别
- SVN小白使用攻略
- android UI屏幕知识
- 复习(数据结构:java):线性表(数组):迭代器
- jQuery的事件
- Mybatis SQL语句映射文件的配置
- 问题解决,libvirt start img,Permission denied
- ffmpeg/avconv
- error: 'for' loop initial declarations are only allowed in C99 mode
- LibSVM分类的实用指南
- SpringMVC 和Struts2的区别
- android的消息机制