仓酷云

标题: 发布一篇Java中计划与利用迭代器 [打印本页]

作者: 冷月葬花魂    时间: 2015-1-18 11:13
标题: 发布一篇Java中计划与利用迭代器
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
1.迭代器计划
迭代器是一种形式,它可使得关于序列范例的数据布局的遍历举动与被遍历的对象分别,即我们无需体贴该序列的底层布局是甚么模样的。
一样平常的迭代器对外供应的接口有:
[1]反省是不是至序列末了;
[2]前往以后的对象;
[3]过渡到下一个对象。
我们基于以上三点,供应一个迭代器Interface。
<<interface>>MyIterator.java
packagecom.zj.iterator;
publicinterfaceMyIterator<T>{
  booleanend();
  Tcurrent();
  voidnext();
}
接上去,计划一个序列,并部署下面计划的迭代器。我们利用一个ArrayList作为底层的数据布局,计划一个外部类LinksIterator来完成MyIterator接口,如许能够供应迭代器功效。经由过程publicMyIterator<T>browser()办法前往该迭代器的实例。
Links.java
packagecom.zj.iterator;
importjava.util.ArrayList;
importjava.util.List;
publicclassLinks<T>{
  privateList<T>items=newArrayList<T>();
  publicvoidadd(Tx){
   items.add(x);
  }
  privateclassLinksIteratorimplementsMyIterator<T>{
   privateinti=0;
   publicbooleanend(){
     returni==items.size();
   }
   publicTcurrent(){
     returnitems.get(i);
   }
   publicvoidnext(){
     if(i<items.size())
       i++;
   }
  }
  publicMyIterator<T>browser(){
   returnnewLinksIterator();
  }
  publicstaticvoidmain(String[]args){
   Links<Integer>links=newLinks<Integer>();
   for(inti=1;i<6;i++)
     links.add(i);
   //useMyIterator
   MyIterator<Integer>myItr=links.browser();
   while(!myItr.end()){
     System.out.print(myItr.current()+"");
     myItr.next();
   }
  }
}
<p>
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。
作者: 愤怒的大鸟    时间: 2015-1-20 17:23
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 第二个灵魂    时间: 2015-1-24 23:47
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者: 老尸    时间: 2015-1-25 10:10
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 若相依    时间: 2015-1-26 08:26
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 分手快乐    时间: 2015-2-4 13:25
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 小女巫    时间: 2015-2-9 23:27
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 乐观    时间: 2015-2-11 20:54
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: admin    时间: 2015-3-2 18:58
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 灵魂腐蚀    时间: 2015-3-7 10:25
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 飘飘悠悠    时间: 2015-3-8 11:41
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者: 再见西城    时间: 2015-3-10 12:44
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 蒙在股里    时间: 2015-3-17 07:08
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 仓酷云    时间: 2015-3-24 00:38
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2