基于双链表的 Queue 实现。
允许常数时间添加、从末尾删除和查看操作。
- 继承
- 实现类型
-
- Queue<
E>
- Queue<
- 可用扩展
构造函数
- DoubleLinkedQueue()
- DoubleLinkedQueue.from(Iterable elements)
- 创建一个包含所有
elements
的双链表。工厂 -
DoubleLinkedQueue.of(Iterable<
E> elements) - 从
elements
创建一个双链表。工厂
属性
- first → E
- 第一个元素。无设置器重写
- hashCode → int
- 此对象的哈希码。无设置器继承
- isEmpty → bool
- 此集合是否没有元素。无设置器重写
- isNotEmpty → bool
- 此集合是否至少有一个元素。无设置器继承
-
iterator → _DoubleLinkedQueueIterator<
E> - 一个新的
Iterator
,允许遍历此Iterable
的元素。无设置器重写 - last → E
- 最后一个元素。无设置器重写
- length → int
- 此 Iterable 中的元素数量。无设置器重写
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
- single → E
- 检查此可迭代对象是否只有一个元素,并返回该元素。无设置器重写
方法
-
add(
E value) → void - 将
value
添加到队列的末尾。重写 -
addAll(
Iterable< E> iterable) → void - 将
iterable
的所有元素添加到队列的末尾。队列的长度会增加iterable
的长度。重写 -
addFirst(
E value) → void - 将
value
添加到队列的起始位置。重写 -
addLast(
E value) → void - 将
value
添加到队列的末尾。重写 -
any(
bool test(E element)) → bool - 检查此可迭代对象中的任何元素是否满足
test
条件。继承 -
cast<
R> () → Queue< R> - 将此可迭代对象视为
R
实例的可迭代视图。重写 -
clear(
) → void - 删除队列中的所有元素。队列的大小变为零。重写
-
contains(
Object? element) → bool - 该集合是否包含等于
element
的元素。继承 -
elementAt(
int index) → E - 返回第
index
个元素。继承 -
every(
bool test(E element)) → bool - 检查此可迭代对象中的每个元素是否满足
test
条件。继承 -
expand<
T> (Iterable< ) → Iterable<T> toElements(E element)T> - 将此 可迭代对象 的每个元素展开为零个或多个元素。继承
-
firstEntry(
) → DoubleLinkedQueueEntry< E> ? - 队列中第一个元素的条目对象。
-
firstWhere(
bool test(E element), {E orElse()?}) → E - 返回满足给定谓词
test
的第一个元素。继承 -
fold<
T> (T initialValue, T combine(T previousValue, E element)) → T - 通过迭代将集合中的每个元素与现有值结合,将集合缩减为单个值。继承
-
followedBy(
Iterable< E> other) → Iterable<E> - 创建当前可迭代对象和
other
的懒加和。继承 -
forEach(
void action(E element)) → void - 按迭代顺序对可迭代对象中的每个元素调用
action
。继承 -
forEachEntry(
void action(DoubleLinkedQueueEntry< E> element)) → void - 为双链队列中的每个条目对象调用
action
。 -
join(
[String separator = ""]) → String - 将每个元素转换为 String 并连接字符串。继承
-
lastEntry(
) → DoubleLinkedQueueEntry< E> ? - 队列中最后一个元素的条目对象。
-
lastWhere(
bool test(E element), {E orElse()?}) → E - 返回满足给定谓词
test
的最后一个元素。继承 -
map<
T> (T toElement(E e)) → Iterable< T> - 通过
toElement
函数修改的当前可迭代元素的集合。继承 -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
reduce(
E combine(E value, E element)) → E - 通过迭代使用提供的函数结合集合的元素,将集合简化为单个值。继承
-
remove(
Object? o) → bool - 从队列中移除单个实例的
value
。重写 -
removeFirst(
) → E - 移除并返回队列的第一个元素。重写
-
removeLast(
) → E - 移除并返回队列的最后一个元素。重写
-
removeWhere(
bool test(E element)) → void - 从队列中移除所有符合
test
条件的元素。重写 -
retainWhere(
bool test(E element)) → void - 从队列中移除所有不符合
test
条件的元素。重写 -
singleWhere(
bool test(E element), {E orElse()?}) → E - 满足
test
条件的单个元素。继承 -
skip(
int count) → Iterable< E> - 创建一个 Iterable,提供除了前
count
个元素之外的所有元素。继承 -
skipWhile(
bool test(E value)) → Iterable< E> - 创建一个在满足条件时跳过开头元素的
Iterable
。继承 -
take(
int count) → Iterable< E> - 创建一个惰性可迭代的对象,包含此可迭代对象的
count
个第一个元素。继承 -
takeWhile(
bool test(E value)) → Iterable< E> - 创建一个满足
test
条件的开头元素的惰性可迭代对象。继承 -
toList(
{bool growable = true}) → List< E> - 创建一个包含此 Iterable 元素的 List。继承
-
toSet(
) → Set< E> - 创建一个包含与该可迭代对象相同元素的 Set。继承
-
toString(
) → String - 返回(一些)此元素的字符串表示形式。重写
-
where(
bool test(E element)) → Iterable< E> - 创建一个新的惰性 Iterable,包含所有满足谓词
test
的元素。继承 -
whereType<
T> () → Iterable< T> - 创建一个新的惰性 Iterable,包含所有具有类型
T
的元素。继承
运算符
-
operator ==(
Object other) → bool - 等号运算符。继承