仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 471|回复: 13
打印 上一主题 下一主题

[学习教程] 发布一篇Java中计划与利用迭代器

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:13:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后我再次声明,我并没有说不看好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的话,那么微软还剩的手段就是开源了,呵呵。
14#
发表于 2015-3-24 00:38:43 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
蒙在股里 该用户已被删除
13#
发表于 2015-3-17 07:08:31 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
再见西城 该用户已被删除
12#
发表于 2015-3-10 12:44:22 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
飘飘悠悠 该用户已被删除
11#
发表于 2015-3-8 11:41:28 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-7 10:25:48 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
admin 该用户已被删除
9#
发表于 2015-3-2 18:58:48 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
乐观 该用户已被删除
8#
发表于 2015-2-11 20:54:31 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小女巫 该用户已被删除
7#
发表于 2015-2-9 23:27:00 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
分手快乐 该用户已被删除
6#
发表于 2015-2-4 13:25:38 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
若相依 该用户已被删除
5#
发表于 2015-1-26 08:26:04 来自手机 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
老尸 该用户已被删除
地板
发表于 2015-1-25 10:10:15 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-24 23:47:37 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-20 17:23:00 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表