2017-08-04 77 views
1

ListIterator可用于在List上以两种方式遍历。ListIterator类别用于设置

为什么我们没有类似于ListIterator for Set?是因为它没有订购吗?请指教。

回答

1

简短的回答:

是的,因为它不是命令。


龙答:

LISTS

在一个单链接List每一个元素都有其以下元素的引用。 在双向链接List中,每个元素都有对其后继者及其前身的引用。 因此,很容易实现Iteratornext方法。为了遍历列表,我们只需运行列表元素的下一个引用。双向链表中的遍历迭代将运行pred。引用。在单向链表中,列表顺序将被反转并重复。 所以定义了一个订单。

src


SETS

Set由散列函数

管理

src

优点是,集合中的查找函数提高到O(1)。但是我们放弃了设置元素之间的引用。因此,在两种方式下对Set进行双向迭代变得更加困难。有许多方法可以迭代这个Set。但为了遍历Set,我们需要定义一个订单。但事实并非如此。