在Java中,我试图遍历一个映射以从putAll()接口完成Map方法的实现。但是,我不能使用keyset()entryset()values()来执行此操作,这意味着我不能为此目的调用迭代器。

我对没有迭代器的情况感到困惑。

编辑:

为了澄清,我的工作是在不使用这三个方法的情况下实现所有Map方法。我不知道如何在没有迭代器的情况下实现putAll()这样的方法。

最佳答案

如果MapSortedMap,则可以执行以下操作:

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的说明。

07-26 07:38