collection 1.14.12

  • Readme
  • Changelog
  • Installing
  • 97

包含dart:collection样式的实用程序函数和类,以使使用集合更容易.

Algorithms #

该软件包包含对列表进行操作的功能.

它包含随机播放List ,对已排序的List进行二进制搜索以及各种排序算法的方法.

Equality #

该包提供了一种指定元素和集合相等的方法.

Dart中的集合没有固有的平等性. 即使两组包含与元素完全相同的对象,两组也不相等.

Equality接口提供了一种方法来定义这种平等. 例如,在这种情况下, const SetEquality(const IdentityEquality())是一个等式,如果两个集合包含相同的元素,它们将视为完全相等.

IterableListSetMap以及它们的组合提供了Iterable ,例如:

const MapEquality(const IdentityEquality(), const ListEquality());

如果映射具有相同的键,则此相等性认为映射相等,并且对应的值是具有相等( operator== )值的列表.

Iterable Zip #

用于将可迭代列表"压缩"到可迭代列表的实用程序.

Priority Queue #

优先级队列的接口和实现.

Wrappers #

该程序包包含"包装"集合的类.

包装器类包含相同类型的对象,并将所有方法转发到包装的对象.

包装器类可以以多种方式使用,例如,将对象的类型限制为超类型的类型,或更改现有对象上所选函数的行为.

Features and bugs #

请在问题跟踪器中提交功能请求和错误.

1.14.12 #

  • 修复CombinedMapView.keysCombinedMapView.lengthCombinedMapView.forEachCombinedMapView.values按照指定的方式工作,并且不会重复地图中的重复项.
    • 由于此修复, length现在必须迭代所有映射以删除重复项并返回准确的长度,因此不再是O(maps) .

1.14.11 #

  • 将最大SDK版本设置为<3.0.0 .

1.14.10 #

  • 修复覆盖方法中的参数名称以匹配源.
  • 进行Dart 2类型安全测试.
  • 根据SDK retype和弃用方法停止.

1.14.9 #

  • 修复了QueueListMapKeySetMapValueSet不遵守List.castSet.castMap.cast分别规定的List.cast Map.cast . 这些方法的返回实例现在可以正确转发到现有实例,而不必始终创建新副本.

1.14.8 #

  • 不推荐使用的Delegating{Name}.typed静态方法,而采用了新的Dart 2 cast方法. 例如, DelegatingList.typed<String>(list)现在可以写为list.cast<String>() .

1.14.7 #

  • 现在仅支持Dart 2开发者SDK( >=2.0.0-dev.22.0 ).
  • 添加了对所有抛出UnimplementedError Dart 2 SDK方法的支持.

1.14.6 #

  • 使DefaultEqualityequals()hash()方法采用任何Object而不是E类型的对象. 这使得const DefaultEquality<Null>()可用作任何E Equality<E> ,这意味着它可以在需要Equality<E>的const上下文中使用.

    这使其他各种const相等构造函数的默认参数在强模式下工作.

1.14.5 #

  • 修复了1.14.4中引入的EmptyUnmodifiableSet的存根的问题.

1.14.4 #

  • 添加即将到来的Dart 2.0核心库方法的实现存根,即用于实现IterableListMapQueueSet类的新方法.

1.14.3 #

  • 修复MapKeySet.lookup在强模式下为有效替代的问题.

1.14.2 #

  • 将类型参数添加到SyntheticInvocation .

1.14.1 #

  • 使Equality实现接受null作为hash参数.

1.14.0 #

  • 添加CombinedListView ,将多个列表串联在一起的视图.
  • 添加CombinedIterableView ,将多个可迭代连接在一起的视图.
  • 添加CombinedMapView ,将多个地图串联在一起的视图.

1.13.0 #

  • Add EqualityBy

1.12.0 #

  • Add CaseInsensitiveEquality.

  • 修复equalsIgnoreAsciiCase错误.

1.11.0 #

  • 添加EqualityMapEqualitySet类,它们分别使用Equality对象实现键和元素相等.

1.10.1 #

  • Set.difference现在将Set<Object>作为参数.

1.9.1 #

  • 修复一些文档错误.

1.9.0 #

  • 添加一个顶层stronglyConnectedComponents()函数,该函数在有向图中返回强连接的组件.

1.8.0 #

  • Map上添加一个类似于Iterable.map()的顶级mapMap()函数.

  • 添加一个顶级mergeMaps()函数,该函数使用两个现有地图的合并内容创建一个新地图.

  • 添加一个顶级groupBy()函数,该函数通过使用函数将Iterable的元素分组来将Iterable转换为Map .

  • 添加顶级minBy()maxBy()函数,这些函数分别返回Iterable的最小值和最大值,并按派生值排序.

  • 添加一个顶级transitiveClosure()函数,该函数返回有向图的可传递闭包.

1.7.0 #

  • 添加一个const UnmodifiableSetView.empty()构造函数.

1.6.0 #

  • 添加一个UnionSet类,该类提供一组集合的并集的视图.

  • 添加一个UnionSetController类,该类提供了一种方便的方法来管理UnionSet的内容.

  • 修复另一个错误声明的泛型类型.

1.5.1 #

  • 修复错误声明的泛型类型.

1.5.0 #

  • 添加DelegatingIterable.typed()DelegatingList.typed()DelegatingSet.typed()DelegatingMap.typed()DelegatingQueue.typed()静态方法. 它们使用正确的type参数包装这些类的无类型实例,并在访问它们时声明值的类型.

  • 修复binarySearch()lowerBound()的类型,以便它们不再要求所有参数都具有可比性.

  • 常规注释添加到insertionSort()mergeSort()

1.4.1 #

  • 修复所有强模式警告.

1.4.0 #

  • 添加一个new PriorityQueue()构造函数,该构造函数转发到new HeapPriorityQueue() .

  • 弃用package:collection/collection.dart之外的顶级库,该顶级库将导出这些库的接口.

1.3.0 #

  • lowerBound添加到二进制搜索中以查找可能不存在的值.

  • 验证验证对CanonicalMap.[]有效.

1.2.0 #

  • 添加忽略ASCII大小写并按数字对数字进行排序的字符串比较器.

1.1.3 #

  • 使用MapSet修复类型不一致.

1.1.2 #

  • 从Dart核心库中导出UnmodifiableMapView .

1.1.1 #

  • 错误修复了CanonicalizedMapisValidKey参数的签名.

1.1.0 #

  • 添加一个QueueList实现QueueListQueueList类.

0.9.4 #

  • 添加一个CanonicalizedMap类,该类将其键规范化以提供自定义的相等关系.

0.9.3+1 #

  • 修复所有分析器提示.

0.9.3 #

  • 添加一个MapKeySet类,该类公开Map的键的不可修改的Set视图.

  • 添加一个MapValueSet类,该类将一个函数从值转换为键,并使用它来显示Map值的Set视图.

Use this package as a library

1. Depend on it

将此添加到包的pubspec.yaml文件中:


dependencies:
  collection: ^1.14.12

2. Install it

您可以从命令行安装软件包:

与酒吧:


$ pub get

使用Flutter:


$ flutter pub get

另外,您的编辑器可能支持pub getflutter pub get . 查看您的编辑器文档以了解更多信息.

3. Import it

现在,在Dart代码中,您可以使用:


import 'package:collection/collection.dart';
  
Popularity:
描述该程序包相对于其他程序包的受欢迎程度. [更多]
100
Health:
从静态分析得出的代码运行状况. [更多]
98
Maintenance:
反映出软件包的整洁和最新状态. [更多]
90
Overall:
以上的加权分数. [更多]
97
了解有关得分的更多信息.

我们在2020年5月24日对该软件包进行了分析,并在下面提供了得分,详细信息和建议. using: 分析已完成,状态使用以下命令 :

  • 飞镖:2.8.1
  • 直到:0.13.8-dev

Health suggestions

修复lib/src/algorithms.dart . (-1.99点)

分析lib/src/algorithms.dart报告了4条提示:

第15行第68列:不推荐使用" CastError",因此不应使用. 请改用TypeError.

第43行,第68行:" CastError"已弃用,不应使用. 请改用TypeError.

第99行,第68行:" CastError"已被弃用,不应使用. 请改用TypeError.

第142行第68行:不推荐使用" CastError",因此不应使用. 请改用TypeError.

Maintenance suggestions

保持榜样. (-10点)

example/目录中创建一个简短的演示,以演示如何使用此软件包.

常见的文件名模式包括main.dartexample.dartcollection.dart . 具有多个示例的软件包应提供example/README.md .

有关更多信息,请参见pub包布局约定 .

Dependencies

Package Constraint Resolved Available
直接依赖
Dart SDK > = 2.0.0 <3.0.0
开发依赖
pedantic ^1.0.0
test ^1.0.0

by  ICOPY.SITE