这更多的是一个理论问题。如果我有一个任意集合c
没有订购,我得到了两个java.util.Iterator
通过调用c.iterator()
两次,两个迭代器都必须返回吗c
的元素顺序相同吗?
我的意思是,实际上他们可能总是会这样做,但是他们是通过合同被迫这样做的吗?
谢谢,
扬
不,他们不是。
“无法保证元素的顺序
返回(除非这个集合是某个类的实例,
提供保证)”。
See the Collection#iterator api 合约 http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#iterator%28%29.
这包括从一个迭代器到下一个迭代器(因为它没有说明任何要求)。
还要考虑到在获取这两个迭代器之间底层集合中的某些内容可能会发生变化!添加或删除的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)