学习Java中关于迭代
来源:互联网 发布:淘宝纯棉定义 编辑:程序博客网 时间:2024/06/06 11:03
此处是百度所得:迭代
标准的定义:
在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
这个定义太学究气,半天看不明白。这样解释可能更容易理解:
我们开发一个产品,如果不太复杂,会采用瀑布模型,简单的说就是先需求定义,然后构建框架,然后写代码,然后测试,最后发布一个产品。
这样,几个月过去了,直到最后一天发布时,大家才能见到一个产品。
这样的方式有明显的缺点,假如我们对用户的需求判断的不是很准确时——这是很常见的问题,一点也不少见——你工作了几个月甚至是几年,当你把产品拿给客户看时,客户往往会大吃一惊,这就是我要的东西吗?
迭代的方式就有所不同,假如这个产品要求6个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进去,bug很多,还不稳定,但客户看了以后,会提出更详细的修改意见,这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的需求分析、框架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善的产品来,给客户看,让他们提意见。
就这样,我的产品在功能上、质量上都能够逐渐逼近客户的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西。
这样的方法很不错,但他也有自己的缺陷,那就是周期长、成本很高。在应付大项目、高风险项目——就比如是航天飞机的控制系统时,迭代的成本比项目失败的风险成本低得多,用这种方式明显有优势。
如果你是给自己的单位开发一个小MIS,自己也比较清楚需求,工期上也不过花上个把月的时间,用迭代就有点杀鸡用了牛刀,那还是瀑布模型更管用,即使是做得不对,顶多再花一个月重来,没什么了不起。
走一步看一步对有问题的地方进行删改。
boolean hasnext();//判断是否有元素没有被遍历(判断当前游标的下一个是否存在)。
object next(); //返回游标当前位置的元素并将游标移动到下一个位置。
void remove(); //删除游标左面的元素,在执行完next后该操作只能执行一次。
代码如下:
package interator;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.Iterator;;public class Test {public static void main(String[] args) {List list = new ArrayList();list.add("aaaaaaaa");list.add("aaaaaaaa");list.add("aaaaaaaa");list.add("aaaaaaaa");list.add("aaaaaaaa");for(int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}Set set = new HashSet();set.add("adsf");set.add("asdf2");set.add("asdf3");set.add("asdf4");Iterator iter = set.iterator();while(iter.hasNext()) {System.out.println(iter.next());}}}该程序的运行结果也说明了set的无序性。
- 学习Java中关于迭代
- Java机器学习库ML之六关于模型迭代训练的思考
- java中TreeMap的迭代
- java中List集合迭代
- 关于牛顿迭代
- 关于迭代开发
- Hadoop中JobControl的用法,关于Job迭代
- 关于算法中递归与迭代的小感想
- 20171022java学习iterator java 迭代遍历
- 迭代学习
- python学习-迭代
- 迭代算法 JAVA
- 迭代算法 JAVA
- java迭代其
- java迭代其
- java迭代
- java 迭代list
- java ibatis 迭代
- STM8L51X gpio中断
- 计算机的数字系统
- 计算多项式--Horner
- andorid 获取手机型号
- 多文件操作
- 学习Java中关于迭代
- 关于.h文件相互包含的一个现象
- Spark笔记——技术点汇总
- 关于MySQL修改成utf8mb4编码后启动服务报错1067的解决方法
- 微信小程序周报(第九期)-极乐科技
- Windows平台下MySQL常用操作与命令
- python操作数据库之pymysql
- Maven私服问题汇总
- HDU6060 RXD and dividing