Трейт scala.collection.IterableOnce
трейт IterableOnce[+A]
Шаблонный трейт для коллекций, которые могут быть пройдены только один раз или один или несколько раз.
Примечание: IterableOnce не расширяет IterableOnceOps. Это отличается от общей концепции библиотеки коллекций, которая использует следующий шаблон:
trait Seq extends Iterable with SeqOps trait SeqOps extends IterableOps trait IndexedSeq extends Seq with IndexedSeqOps trait IndexedSeqOps extends SeqOps
Цель состоит в предоставлении минимального интерфейса без каких-либо последовательных операций. Это позволяет сторонним расширениям, таким как параллельные коллекции Scala, интегрироваться на уровне IterableOnce без наследования нежелательных реализаций.
| Наследники | |
|---|---|
| Известные подтипы | 257 типов |
Абстрактные методы
Источник
Итератор может быть использован только один раз
Конкретные методы
Источник
| Возвращает | Количество элементов в этом наборе, если его можно вычислить недорого, иначе -1. Недорого обычно означает: не требует обхода коллекции. |
|---|
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Степпер позволяет создавать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, степпер может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого степпера в соответствии с типом элементов этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для шагающих механизмов, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные шагающие механизмы могут быть преобразованы только в последовательные потоки.
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/IterableOnce.html