gpt4 book ai didi

list - 在 Dart 中, `List.unmodifiable` 是创建一个不可修改的 View ,还是一个全新的独立列表?

转载 作者:行者123 更新时间:2023-12-03 02:39:51 25 4
gpt4 key购买 nike

  • 在 Dart 中,执行 List.unmodifiable(someList)Map.unmodifiable(someMap)创建一个不可修改的 查看 ,还是一个全新的独立列表/ map ?我猜这是一个新的独立列表,但我必须确定。
  • 如果它是一个 View ,对原始列表的修改将修改现在不是那么不可修改的列表,但有时您无论如何都只是丢弃原始列表,并且创建 View 要快得多。

  • 并且,如果他们创建独立的列表/ map ,出于性能目的,是否有某种方法可以创建不可修改的 View ?
  • 更新 :好的,我已经回答了我自己的第 2 个问题,找到了这个: UnmodifiableListView<E> Docs .但我仍然需要知道其他问题的答案。

  • 从另一个创建 Dart 列表的大 O 是什么,包括由 List.unmodifiable(someList) 创建的 Dart 列表?例如,这是 Java 集合的信息:Big O for Java Collections .
  • 最佳答案

  • 项目被复制。这是一个全新的独立列表。
  • Dart Collection Library , 进一步来说:
  • UnmodifiableListView
  • UnmodifiableMapView

  • 它是 O(N) – 它复制所有元素,因此它必须访问每个元素。
  • 如果您使用 List.unmodifiable从另一个列表中,它知道目标长度,因此它不必在迭代时调整它正在创建的列表的大小。

  • 关于list - 在 Dart 中, `List.unmodifiable` 是创建一个不可修改的 View ,还是一个全新的独立列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50311900/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com