正 文

用J2SE 5.0创建定制的泛型集合


www.7dspace.com  更新日期:2005-11-23 8:43:57  七度空间


  五、 创建一个可预知的Stack迭代算子

  如果PeekableStack类将要同Java中新的"for each"结构语句一起使用,那么你必须创建一个"Java标准的"Iterator。列表3显示出一个PeekableStackIterator类的实现。

  在列表3中,迭代子实际上并没有以任何方式改变栈的值;代之的是,该迭代子追踪它在元素列表中的当前位置并且总是返回下一个元素。因为这个信息被存储在iteration类本身,所以有可能存在多个算子运行于相同的栈上。

  下列程序用于测试可预知的栈。

package com.heatonresearch.examples.collections;
 import java.util.*;
 public class TestPeekableStack {
  public static void main(String args[]) {
   PeekableStack<Integer> stack = new
   PeekableStack<Integer>();
   stack.push(1);
   stack.push(2);
   stack.push(3);
   for (int i : stack) { System.out.println(i); }
   System.out.println("Pop 1:" + stack.pop());
   System.out.println("Pop 2:" + stack.pop());
   System.out.println("Pop 3:" + stack.pop());
  }
}

  如你所见,有三个项被添加到栈上去。然后,这三个项被使用新的"for each"结构语句显示出来。

for( int i: stack)
{
 System.out.println( i );
}

  因此,你看到怎样成功地实现一集合-它支持新型的J2SE惯例-既有泛型也有"for each"结构语句。如你所见,创建与J2SE 5.0中新型的结构相兼容的集合是相当容易的-这只需要利用泛型并且实现恰当的接口即可。你会发现这样的集合类被无缝地集成到J2SE 5.0中。

5页,页码:[1] [2] [3] [4] [5] 

上一篇:Foxmail 6.0 Beta1发布!加入RSS阅读器
下一篇:将自己的照片处理为苹果iPod平面广告
作者:朱先忠编译  来源:天极网 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐