在Java中,我试图遍历一个映射以从putAll()
接口完成Map
方法的实现。但是,我不能使用keyset()
,entryset()
或values()
来执行此操作,这意味着我不能为此目的调用迭代器。
我对没有迭代器的情况感到困惑。
编辑:
为了澄清,我的工作是在不使用这三个方法的情况下实现所有Map方法。我不知道如何在没有迭代器的情况下实现putAll()
这样的方法。
最佳答案
如果Map
是SortedMap
,则可以执行以下操作:
SortedMap<K, V> partialMap = wholeMap;
while (!partialMap.isEmpty()) {
K key = partialMap./* left as an exercise to the reader */;
partialMap = partialMap.tailMap(
key,
false // exclusive, so does not include key
);
}
您可以在javadoc中找到
tailMap
的说明。