单个属性

E single
重写

检查这个可迭代对象是否只有一个元素,并返回该元素。

如果this为空或包含多个元素,则抛出一个StateError。此操作不会遍历到第二个元素。

实现

E get single {
  if (length > 1) throw IterableElementError.tooMany();
  Iterator<E> it = iterator;
  if (!it.moveNext()) throw IterableElementError.noElement();
  E result = it.current;
  return result;
}