文档章节

怎样遍历Collection中的集合如Set

独鸣在彼岸
 独鸣在彼岸
发布于 2013/12/30 18:05
字数 185
阅读 46
收藏 0

当集合中还有集合时,应该怎样遍历呢?这个问题让我琢磨了一个下午,最后终于有了答案。

当我们使用如下的方法遍历集合时就会陷入到死循环中,一直打印下去,为什么呢?因为每执行完一次打印,重新执行while语句时又会创建新的iterator,所以这样的写法是错误的。


Collection<Set<String>> col = new ArrayList<HashSet<String>>;
while(col.iterator.next.iterator.hasNext()){
    System.out.println(col.iterator.next.iterator.next());
}

正确的遍历方法是先获取iterator的引用,然后通过这个引用进行遍历。

Iterator it = col.iterator();
while (it.hasNext()) {
   Set<String> set = (Set<String>) it.next();
   Iterator i = set.iterator();
   while (i.hasNext()) {
       System.out.println(i.next());
   }
}



这样才能够正确地打印。


© 著作权归作者所有

共有 人打赏支持
独鸣在彼岸
粉丝 4
博文 228
码字总数 35784
作品 0
广州
Java 集合系列02之 Collection架构

概要 首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set。 List和Set都是接口,它们继承于Collection。...

东方神剑
2015/12/16
118
1
java集合极速pk10网站开发系列02:Collection构架

首先,我们极速pk10网站开发haozbbs.com Q1446595067对Collection进行说明。下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set。 List和S...

oddad
07/16
0
0
Java 集合系列02之 Collection架构

概要 首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set。 List和Set都是接口,它们继承于Collection。...

无信不立
2014/07/15
0
0
java面试热点:集合框架(一)

Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据。集合类型就是容纳这些对象的一个容器。根据集合中是否允...

神秘的寇先森
2017/12/22
0
0
集合(四)Map

Collection集合和Map集合的区别: a: Map集合属于双列集合 , Collection属于单列集合 b: Map集合键是唯一性的, 而Collection集合中的Set集合可以保证元素的唯一性 c: Map集合的数据结构只和键...

centrald
2016/01/29
119
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
48分钟前
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部