Wil*_*iam 10
previous()只需使用一个即可轻松获得java.util.ListIterator.
通过这样做,可以轻松实现这一点
public <T> T peek(ListIterator<T> iter) throws NoSuchElementException {
T obj = iter.next();
iter.previous();
return obj;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,将它作为实用程序方法会更容易,因为每个集合类都实现了自己的迭代器.要做一个包装器来在某个界面上获取每个集合的peek方法,这MyListIterator将是相当多的工作.
我认为这些没有实现的原因是因为它们对某些集合来说并不重要,并且会产生很大的性能影响.我认为你可以非常简单地为你关心的收藏品做这项工作.
我也不喜欢Java迭代器无法在不移动的情况下获取当前值(因此您无法轻松编写基于该值的分支代码,只需传递迭代器 - 您必须传递值现在也有).
| 归档时间: |
|
| 查看次数: |
7954 次 |
| 最近记录: |