Объект scala.jdk.Accumulator
Компаньон класс Accumulator
объект Accumulator
Типы-члены
sealed тракт AccumulatorFactoryShape[A, C] extends AnyRef
sealed тракт LowPriorityAccumulatorFactoryShape extends AnyRef
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращается значение хэша, согласованное с равенством значений: если две инстанции типов значений сравниваются как true, то ## вернёт одно и то же значение хэша для каждой из них. Для null возвращается хэш-код, где null.hashCode выбрасывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def apply[A, C](elems: A*)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Accumulator со специфицированными элементами.
- A
тип элементов Accumulator
- C
специфический тип Accumulator
- elems
элементы создаваемого Accumulator
- returns
новый Accumulator с элементами
elems
final def asInstanceOf[T0]: T0
Приведение типа объекта-получателя к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания типов в Scala. Поэтому выражение 1.asInstanceOf[String] сгенерирует ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не сгенерирует исключение. В последнем примере, поскольку тип аргумента стирается на этапе компиляции, проверить, относятся ли элементы списка к запрошенному типу, невозможно.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект-получатель не является экземпляром стираемого типаT0.
def clone(): AnyRef
Создаёт копию объекта-получателя.
Реализация метода clone по умолчанию зависит от платформы.
- returns
копия объекта-получателя.
def concat[A, C](xss: Iterable[A]*)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Конкатенация всех коллекций-аргументов в один Accumulator.
- xss
коллекции, которые будут конкатенированы.
- returns
конкатенация всех коллекций.
def empty[A, C](implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Пустая коллекция
- A
тип элементов Accumulator
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на не-нулевых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых не-нулевых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true.
При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны хэшироваться к одному и тому же значению (o1.hashCode == o2.hashCode).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: AnyRef): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- returns
trueесли принимаемый объект эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
def fill[A, C](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]]
Создает пятимерный Accumulator, содержащий результаты вычисления некоторого элемента несколько раз.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- n3
число элементов в 3-м измерении
- n4
число элементов в 4-м измерении
- n5
число элементов в 5-м измерении
- elem
вычисление элемента
- returns
Accumulator, содержащий результаты
n1 x n2 x n3 x n4 x n5вычисленийelem.
def fill[A, C](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]
Создает четырехмерный Accumulator, содержащий результаты вычисления некоторого элемента несколько раз.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- n3
число элементов в 3-м измерении
- n4
число элементов в 4-м измерении
- elem
вычисление элемента
- returns
Accumulator, содержащий результаты
n1 x n2 x n3 x n4вычисленийelem.
def fill[A, C](n1: Int, n2: Int, n3: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[C]]
Создает трехмерный Accumulator, содержащий результаты вычисления некоторого элемента несколько раз.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- n3
число элементов в 3-м измерении
- elem
вычисление элемента
- returns
Accumulator, содержащий результаты
n1 x n2 x n3вычисленийelem.
def fill[A, C](n1: Int, n2: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[C]
Создает двумерный Accumulator, содержащий результаты вычисления некоторого элемента несколько раз.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- elem
вычисление элемента
- returns
Accumulator, содержащий результаты
n1 x n2вычисленийelem.
def fill[A, C](n: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Accumulator, содержащий результаты вычисления некоторого элемента несколько раз.
- n
количество элементов, содержащихся в Accumulator.
- elem
вычисление элемента
- returns
Accumulator, содержащий результаты
nвычисленийelem.
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
def from[A, C](source: IterableOnce[A])(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт целевой Accumulator из существующей коллекции.
- A
тип элементов Accumulator
- C
специфический тип (выведенный) Accumulator
- source
Исходная коллекция
- returns
новый Accumulator с элементами
source
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для типов ссылок. См. hashCode в scala.Any.
- returns
значение хэш-кода для данного объекта.
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки модулирован семантикой стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, нельзя проверить, относятся ли элементы списка к указанному типу.
- returns
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def iterate[A, C](start: A, len: Int)(f: (A) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Accumulator, содержащий повторяемые применения функции к начальному значению.
- start
начальное значение Accumulator
- len
количество элементов, содержащихся в Accumulator
- f
функция, которая многократно применяется
- returns
Accumulator со значениями
lenв последовательностиstart, f(start), f(f(start)), ...
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newBuilder[A, C](implicit canAccumulate: AccumulatorFactoryShape[A, C]): Builder[A, C]
- A
тип элементов Accumulator
- C
конкретный тип Accumulator
- returns
построитель для объектов
Accumulator.
final def notify(): Unit
Разбуждает единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS в качестве члена AnyRef
final def notifyAll(): Unit
Разбуживает все потоки, ожидающие монитора объекта-получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
def range[A, C](start: A, end: A, step: A)(implicit arg0: Integral[A], canAccumulate: AccumulatorFactoryShape[A, C]): C
Создает Аккумулятора содержащий равномерно распределённые значения в некотором целочисленном интервале.
- start
начальное значение Аккумулятора
- end
конечное значение Аккумулятора (первое значение, НЕ содержащееся)
- step
разность между последовательными элементами Аккумулятора (должна быть положительной или отрицательной)
- returns
аккумулятор со значениями
start, start + step, ...до, но не включаяend
def range[A, C](start: A, end: A)(implicit arg0: Integral[A], canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Аккумулятор, содержащий последовательность возрастающих целых чисел.
- start
первый элемент Аккумулятора
- end
конечное значение Аккумулятора (первое значение, НЕ содержащееся)
- returns
аккумулятор со значениями
start, start + 1, ..., end - 1
final def synchronized[T0](arg0: => T0): T0
- Классы-определения
- AnyRef
def tabulate[A, C](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]]
Создаёт пятимерный Аккумулятор, содержащий значения заданной функции для диапазонов целочисленных значений, начиная с 0.
- n1
число элементов в первом измерении
- n2
число элементов во втором измерении
- n3
число элементов в третьем измерении
- n4
число элементов в четвёртом измерении
- n5
число элементов в пятом измерении
- f
Функция для вычисления значений элементов
- returns
Аккумулятор, состоящий из элементов
f(i1, i2, i3, i4, i5)для0 <= i1 < n1,0 <= i2 < n2,0 <= i3 < n3,0 <= i4 < n4, и0 <= i5 < n5.
def tabulate[A, C](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]
Создаёт четырёхмерный Аккумулятор, содержащий значения заданной функции для диапазонов целочисленных значений, начиная с 0.
- n1
число элементов в первом измерении
- n2
число элементов во втором измерении
- n3
число элементов в третьем измерении
- n4
число элементов в четвёртом измерении
- f
Функция для вычисления значений элементов
- returns
Аккумулятор, состоящий из элементов
f(i1, i2, i3, i4)для0 <= i1 < n1,0 <= i2 < n2,0 <= i3 < n3, и0 <= i4 < n4.
def tabulate[A, C](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[C]]
Создаёт трёхмерный Accumulator, содержащий значения заданной функции в диапазонах целочисленных значений, начиная с 0.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- n3
число элементов в 3-м измерении
- f
Функция вычисления значений элементов
- returns
Accumulator, состоящий из элементов
f(i1, i2, i3)для0 <= i1 < n1,0 <= i2 < n2, и0 <= i3 < n3.
def tabulate[A, C](n1: Int, n2: Int)(f: (Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[C]
Создаёт двумерный Accumulator, содержащий значения заданной функции в диапазонах целочисленных значений, начиная с 0.
- n1
число элементов в 1-м измерении
- n2
число элементов во 2-м измерении
- f
Функция вычисления значений элементов
- returns
Accumulator, состоящий из элементов
f(i1, i2)для0 <= i1 < n1и0 <= i2 < n2.
def tabulate[A, C](n: Int)(f: (Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Accumulator, содержащий значения заданной функции в диапазоне целочисленных значений, начиная с 0.
- n
Число элементов в Accumulator
- f
Функция вычисления значений элементов
- returns
Accumulator, состоящий из элементов
f(0), ..., f(n -1)
implicit def toFactory[A, C](sa: Accumulator.type)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): Factory[A, C]
def toString(): String
Создаёт строковое представление этого объекта. Представление по умолчанию зависит от платформы. На платформе Java это конкатенация имени класса, "@", и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
- Definition Classes
- AnyRef → Any
def unfold[A, S, C](init: S)(f: (S) => Option[(A, S)])(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C
Создаёт Accumulator, который использует функцию f для создания элементов типа A и обновления внутреннего состояния типа S.
- A
Тип элементов
- S
Тип внутреннего состояния
- C
Тип (обычно выводится) Accumulator
- init
Начальное значение состояния
- f
Вычисляет следующий элемент (или возвращает
Noneдля сигнализации о конце коллекции)- returns
Accumulator, который создаёт элементы с помощью
fпокаfне вернётNone
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @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
object AccumulatorFactoryShape extends LowPriorityAccumulatorFactoryShape
© 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/jdk/Accumulator$.html
Содержит методы-фабрики для создания Accumulator.
Обратите внимание, что сам объект
Accumulatorне является фабрикой, но неявно преобразуется в фабрику в соответствии с типом элементов, см. Accumulator.toFactory.Это позволяет передавать объект
Accumulatorв качестве аргумента, когда требуется collection.Factory, и неявный Accumulator.AccumulatorFactoryShape используется для создания специализированного Accumulator в зависимости от типа элементов:scala> val intAcc = Accumulator(1,2,3) intAcc: scala.collection.convert.IntAccumulator = IntAccumulator(1, 2, 3) scala> val anyAccc = Accumulator("K") anyAccc: scala.collection.convert.AnyAccumulator[String] = AnyAccumulator(K) scala> val intAcc2 = List(1,2,3).to(Accumulator) intAcc2: scala.jdk.IntAccumulator = IntAccumulator(1, 2, 3) scala> val anyAcc2 = List("K").to(Accumulator) anyAcc2: scala.jdk.AnyAccumulator[String] = AnyAccumulator(K)