single属性

E single

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

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

实现

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