`

接口 Iterator<E> (from API)

    博客分类:
  • Java
 
阅读更多
public interface Iterator<E>
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
    1.迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
    2.方法名称得到了改进。
方法摘要:
boolean hasNext()
    如果仍有元素可以迭代,则返回 true。(换句话说,如果 next 返回了元素而不是抛出异常,则返回 true)。
    返回:
        如果迭代器具有多个元素,则返回 true。

E next()
    返回迭代的下一个元素。
    返回:
        迭代的下一个元素。
    抛出:
        NoSuchElementException - 没有元素可以迭代。

void remove()
    从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。
    抛出:
        UnsupportedOperationException - 如果迭代器不支持 remove 操作
         IllegalStateException - 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。

以下是一个例子:
	//过滤掉名字为'JACK'的person
	public void getAllMan() {
		List<Person> personList = personService.getAll();
		if (personList != null && personList.size() > 0) {
			Iterator<Person> it = personList.iterator();
			Person p = null;
			while (it.hasNext()) {
				p = it.next();
				if (p.getName().equals("JACK") {
					it.remove();
				}
			}
		}
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics