Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26267059
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2009-09-23 19:08:48

我们在使用JAVA内置的数据结构的时候不得不提到这个家伙。经常见好现在分析一下这个家伙便于以后的使用!
1. 使用Iterator实现遍历集合
不管我们的集合对象是数组Array 还是List等。我们可以将遍历其的方法进行抽象出来统一走一种方法即可!
这样的好处就是程序员没有必要知道我写的复杂数据结构是如何实现的!

统一方式:for(Iterator it = c.iterater();it.hasNext();) {}
我们程序员没有必要去了解这个遍历背后的故事。由Iterator统一使用!

        Map map = new HashMap();
        map.put("title", "test");   得到了一个集合对象了现在需要进行遍历
        for (java.util.Iterator it = map.keySet().iterator(); it.hasNext();) {
            String columnName = it.next().toString();
            System.out.print(map.get(columnName));
        }
其中c表示的是集合对象名称!

保证的一点:客户端的程序员没有必要去关注我系统内部的集合类结构。如果想要用就直接通过Iterator进行控制前一步、下一步、这样的操作即可!

典型代码:
for(Iterator it = c.iterater();it.hasNext()) {
     Object o = it.next();
}

这句话看各位是如何体会的:

 集合类返回的Itrator的具体类型可能会不同。Array可能返回的是ArrayIterator SET可能是返回其他的类型的。但是它们都要实现统一的接口。因此客户端不管实现哪种Iterator只需要实现接口即可!

这样的一个好处就是:避免后端的复杂实现方式,只需要处理接口即可!



阅读(1207) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-10-19 17:11:56

一般现在如果想要遍历JAVA里面的集合类型的话一般都采用iterater来处理

chinaunix网友2009-09-24 10:44:01

List 这样的容器是能够保存 类似于Map这样的数据类型进来的。 得到了一个大的List 之后里面全部保存的是Map类型的数据了。 然后我遍历这个List之后 得到了全部的是Map 然后再处理Map类型的数据能够getKey这样的处理!