双向迭代器实现对该商品名称数组的双向(向前和向后)遍历。

原创 2016年06月01日 15:29:51

要求:

某商品管理系统的商品名称存储在一个字符串数组中,现在需要自定义一个双向迭代器(DIterator)实现对该商品名称数组的双向(向前和向后)遍历。

代码:

public interface Iterator {
	public boolean hasNext();
	public Object Next();
}
public interface Product {
	public Iterator getIterator();
}
public class ProductList implements Product{
	public String names[]={"Apple","Banana","Pear","Melons","Peach"};
	
	public Iterator getIterator(){
		return new NameIterator();
	}
	
	public Iterator getIterator0(){
		return new NameIterator0();
	}
	public class NameIterator implements Iterator{
		int index;
		
		public boolean hasNext(){
			if(index<names.length){
				return true;
			}
			return false;
		}
		
		public Object Next(){
			if(this.hasNext()){
				return names[index++];
			}
			return null;
		}	
		
	}
	public class NameIterator0 implements Iterator{
		int flag=names.length-1;
		public boolean hasNext(){
			if(flag>-1){
				return true;
			}
			return false;
		}
		public Object Next(){
			if(this.hasNext()){
				return names[flag--];
			}
			return null;
		}
	}
	
	
}
public class IteratorPatternDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ProductList productlist = new ProductList();
		System.out.println("向后遍历:");
		for(Iterator ite = productlist.getIterator();ite.hasNext();){
			String name = (String)ite.Next();
			System.out.println("Name :"+name);
		}
		System.out.println("向前遍历:");
		for(Iterator ite = productlist.getIterator0();ite.hasNext();){
			String name = (String)ite.Next();
			System.out.println("Name :"+name);
		}
		
	}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

双向链表下的简单迭代器实现

这次的数据结构实验要求用链表的迭代器实现线性表的反向输出。就打算用个双向的链表,这样输出就比较简单了。...

STL之双向链表及其迭代器简单实现

最近在看STL,试着写一个自己的链表模板,与STL相比没有使用空间配置器,方法也只实现了几个简单的插入删除元素。但是理清了容器、迭代器之间的关系。代码及测试用例如下。list_test.h文件 # i...

搜索二叉树实现->迭代器实现->转化为双向链表

二叉搜索树

java迭代器模式实现正反向遍历

  • 2010年12月02日 22:06
  • 2KB
  • 下载

oracle正则表达式----通过解析商品名称学习

1.oracle 正则统配符号 '^'     匹配开始位置,注:方括号内表示否的意思。 '$'    匹配结尾位置 '.'    匹配除换行符 \n之外的任何单字符。 '?'   匹配前面的子表达式...

js购物车(判断了商品名称是否重复并且相邻的图片不重复)

商品名称                 市场价                 购买数量                 小计                 操作            ...

Python爬虫学习之抓取商品名称和价格

看到网上有可以查看商城历史价格的网站,有时候查查某件想买的商品是不是历史最低价,还是蛮有用的。用了几次后就想着这种网站的功能是怎么实现的,那就是使用爬虫技术,定时爬取这些商城的商品价格,然后保存到数据...

双向循环链表——STL迭代器

“test.cpp” #define _CRT_SECURE_NO_WARNINGS 1 #include using namespace std; template struct ListNod...

自定义双向列表容器(含迭代器)

实现双向列表迭代器的实现是重载一些常用的操作符来对node进行一个封装。 实际的数据是存储在node的链表里面。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:双向迭代器实现对该商品名称数组的双向(向前和向后)遍历。
举报原因:
原因补充:

(最多只允许输入30个字)