相关疑难解决方法(0)

用for循环或while循环迭代?

我经常看到如下代码:

Iterator i = list.iterator();
while(i.hasNext()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我写的是(当Java 1.5不可用或者每个都不能使用时):

for(Iterator i = list.iterator(); i.hasNext(); ) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

因为

  • 它更短
  • 它保持i在较小的范围内
  • 它减少了混淆的可能性.(在i外面使用?i声明在哪里?)

我认为代码应该尽可能简单易懂,这样我才能制作复杂的代码来完成复杂的事情.你怎么看?哪个更好?

来自:http://jamesjava.blogspot.com/2006/04/iterating.html

java iterator for-loop

40
推荐指数
4
解决办法
5万
查看次数

Java中的Iterator接口有什么好处?

我刚刚了解了Java Collections Framework如何在链表中实现数据结构.根据我的理解,这Iterators是一种遍历数据结构(如列表)中的项目的方法.为什么使用这个界面?为什么这些方法hasNext(),next()remove()不是直接编码到数据结构实现本身?

从Java网站:链接文本

public interface Iterator <E>

集合上的迭代器.Iterator取代了Java集合框架中的Enumeration.迭代器在两个方面与枚举不同:

  • 迭代器允许调用者在迭代期间使用定义良好的语义从底层集合中删除元素.
  • 方法名称已得到改进.
此接口是Java Collections Framework的成员.

我试着用Google搜索,似乎无法找到明确的答案.有人可以解释为什么Sun选择使用它们吗?是因为更好的设计?增加安全性?好的OO练习?

任何帮助将不胜感激.谢谢.

java oop collections iterator interface

35
推荐指数
3
解决办法
2万
查看次数

标签 统计

iterator ×2

java ×2

collections ×1

for-loop ×1

interface ×1

oop ×1