Spec-Zone.ru › Scala 2.13 Library

Трейт scala.collection.Stepper

Компаньон объект Stepper

Трейт Stepper[+A] extends AnyRef

Степера предназначены для создания потоков Java над коллекциями Scala, см. scala.jdk.StreamConverters. Помимо этого случая, они позволяют итерироваться по коллекциям, содержащим не упакованные примитивы (например, Array[Int]) без упаковки элементов.

Степера имеют интерфейс, похожий на итератор, с методами hasStep и nextStep(). Отличие от итераторов — и причина, по которой Stepper не является подтипом Iterator — заключается в том, что существуют специализированные варианты Stepper для Int, Long и Double (IntStepper и т. д.). Они позволяют итерироваться по коллекциям, содержащим не упакованные примитивы (например, массивы, scala.jdk.Accumulator), без упаковки элементов.

Выбор типов примитивов (Int, Long и Double) соответствует специализированным вариантам потоков Java (java.util.stream.Stream, java.util.stream.IntStream и т. д.) и соответствующим разделителям Java (Spliterator, Spliterator.OfInt и т. д.).

Степера могут быть преобразованы в Scala-итераторы, Java-итераторы и Java-разделители. Примитивные степера преобразуются в соответствующие примитивные Java-итераторы и разделители.

A

тип элемента степера

Источник
Stepper.scala
Линейные надтипы
AnyRef, Any
Известные подклассы
AnyStepper, DoubleStepper, IntStepper, LongStepper

Абстрактные члены-значения

абстрактный def characteristics: Int

Возвращает набор характеристик этого степера и его элементов. См. метод characteristics в Spliterator.

абстрактный def estimateSize: Long

Возвращает оценку количества элементов этого степера или Long.MaxValue. См. метод estimateSize в Spliterator.

абстрактный def hasStep: Boolean

абстрактный def javaIterator[B >: A]: java.util.Iterator[_]

Возвращает Java JIterator, соответствующий этому степеру.

Обратите внимание, что возвращаемый тип Iterator[_] вместо Iterator[A], чтобы позволить возвращать java.util.PrimitiveIterator.OfInt (который является Iterator[Integer]) в подклассе IntStepper (который является Stepper[Int]).

абстрактный def nextStep(): A

абстрактный def spliterator[B >: A]: Spliterator[_]

Возвращает Spliterator, соответствующий этому степеру.

Обратите внимание, что возвращаемый тип Spliterator[_] вместо Spliterator[A], чтобы позволить возвращать Spliterator.OfInt (который является Spliterator[Integer]) в подклассе IntStepper (который является Stepper[Int]).

абстрактный def trySplit(): Stepper[A]

Разделяет этот степер, если применимо. Элементы текущего степера распределяются между результирующим степером и текущим степером.

Может вернуть null, в этом случае текущий степер возвращает те же элементы, что и раньше.

См. метод trySplit в Spliterator.

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращается значение хэша, согласованное с равенством значений: если две сущности типа значения сравниваются как true, то ## вернет одинаковое значение хэша для каждой из них. Для null возвращает хешкод, где null.hashCode вызывает NullPointerException.

возвращает

значение хэша, согласованное с ==

Определяющие классы
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавляется неявным преобразованием из Stepper[A] в any2stringadd[Stepper[A]], выполненное методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Stepper[A], B)

Неявный
Этот член добавляется неявным преобразованием из Stepper[A] в ArrowAssoc[Stepper[A]], выполненное методом ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение объекта-получателя к типу T0.

Обратите внимание, что успех приведения в ходе выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка запрошенному типу.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создает копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не определено SLS как член AnyRef

def ensuring(cond: (Stepper[A]) => Boolean, msg: => Any): Stepper[A]

Неявный
Этот член добавляется неявным преобразованием из Stepper[A] в Ensuring[Stepper[A]] выполненным методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (Stepper[A]) => Boolean): Stepper[A]

Неявный
Этот член добавлен неявным преобразованием из Stepper[A] в Ensuring[Stepper[A]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: => Any): Stepper[A]

Неявный
Этот член добавлен неявным преобразованием из Stepper[A] в Ensuring[Stepper[A]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): Stepper[A]

Неявный
Этот член добавлен неявным преобразованием из Stepper[A] в Ensuring[Stepper[A]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хэш-кода (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определяющие классы
AnyRef

def equals(arg0: AnyRef): Boolean

Метод проверки равенства для ссылочных типов. Реализация по умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Подробности о том, когда и будет ли вызван метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указан в SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную согласно данной строке format. Формат строк соответствует String.format (@see java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из Stepper[A] в StringFormat[Stepper[A]] выполненное методом StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Определяющие классы
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта-приёмника T0.

Обратите внимание, что результат проверки учитывает семантику стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка указанный тип.

возвращает

true если объект-приёмник является экземпляром стираемого типа T0; false в противном случае.

Определяющие классы
Any

def iterator: Iterator[A]

Возвращает Iterator, соответствующий этому Stepper. Обратите внимание, что Iterators, соответствующие примитивным Steppers, упаковывают элементы.

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-приёмник; false в противном случае.

Определяющие классы
AnyRef

final def notify(): Unit

Разбудит один поток, ожидающий монитора объекта-приёмника.

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не указан в SLS как член AnyRef

final def notifyAll(): Unit

Разбудит все потоки, ожидающие монитора объекта-приёмника.

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не указан в SLS как член AnyRef

final def synchronized[T0](arg0: => T0): T0

Определяющие классы
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Определяющие классы
AnyRef → Any

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/Stepper.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API