[英]What's the difference between addAll() vs followedBy() in Dart lists?
[英]What's the difference between List take() vs. getRange() in Dart
我想要一些List
的前n 个元素。 据我所知,我有两个选择: take(n)
和getRange(0, n)
。
最明显的区别是take()
只能在开头使用元素,您可以将它与list.skip(3).take(5)
类的skip()
结合使用以获得类似的行为。
list.take()
是惰性求值的,它适用于函数式编程,如果元素稍后没有真正迭代,它可能会更有效。
list.take()
也可以容忍当列表中的元素没有要求的那么list.take()
。 take()
返回尽可能多的可用, getRange()
抛出。 take()
可用于所有可迭代对象(也包括流), getRange()
仅在默认情况下可用于列表。
take()
和getRange()
之间存在差异
拿()
此方法返回从索引 0 开始直到从给定列表提供的计数的可迭代对象。
您可以使用take(count)
获取List
的第一个计数项
var sportsList = ['cricket', 'tennis', 'football'];
print(sportsList.take(2)); // (cricket, tennis)
获取范围()
此方法以与给定列表中相同的顺序返回指定范围[start]
到[end]
中的元素。 请注意,开始元素是包含的,但结束元素是不包含的。
您可以通过使用getRange()
方法在List
指定范围来获取一组项目。
var myList = [1, 2, 3, 4, 5];
print(myList.getRange(1,4)); // (2, 3, 4)
and also use
var myList = [0, 'one', 'two', 'three', 'four', 'five'];
myList.getRange(1, 3).toList(); // [one, two]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.