Spec-Zone.ru › Scala 2.13 Library

Trait scala.collection.IterableOnceOps

trait IterableOnceOps[+A, +CC[_], +C] extends Any

Этот реализующий трайт может быть смешан с IterableOnce для получения основных методов, общих для Iterator и Iterable. IterableOnce должен поддерживать несколько вызовов iterator, но может или не может возвращать тот же Iterator каждый раз.

Self Type
IterableOnceOps[A, CC, C] with IterableOnce[A]
Source
IterableOnce.scala
Linear Supertypes
Any
Known Subclasses
Набор значений, Абстрактный просмотр индексированного последовательного списка, Абстрактный итерируемый объект, Абстрактный итератор, Абстрактная карта, Абстрактный просмотр карты, Абстрактная последовательность, Абстрактный просмотр последовательности, Абстрактное множество, Абстрактный просмотр, Множество битов, Операции со множеством битов, Буферизованный итератор, Значения по умолчанию для фабрики итерируемых объектов с доказательством, Индексированный последовательный список, Операции с индексированным последовательным списком, Просмотр индексированного последовательного списка, Добавленный, Объединённый, Удаление, Удаление справа, Идентификатор, Карта, Добавленный в начало, Обратный порядок, Срез, Выделение, Выделение справа, Итерируемый объект, Значения по умолчанию для фабрики итерируемых объектов, Операции с итерируемым объектом, Итератор, Группированный итератор, Линейный последовательный список, Операции с линейным последовательным списком, Карта, Значения по умолчанию для фабрики карт, Операции с картой, Множество ключей, Просмотр карты, Фильтр, Фильтр ключей, Идентификатор, Преобразование значений, Обработка каждого элемента, Последовательность, Последовательность-карта, Операции с последовательностью, Просмотр последовательности, Добавленный, Объединённый, Удаление, Удаление справа, Идентификатор, Карта, Добавленный в начало, Обратный порядок, Отсортированный, Выделение, Выделение справа, Множество, Операции со множеством, Отсортированная карта, Значения по умолчанию для фабрики отсортированных карт, Операции с отсортированной картой, Множество ключей в отсортированном порядке, Отсортированное множество, Значения по умолчанию для фабрики отсортированных множеств, Операции с отсортированным множеством, Оптимизированные операции с итерируемым объектом, Оптимизированные операции с линейным последовательным списком, Оптимизированные операции с картой, Оптимизированные операции с последовательностью, Оптимизированные операции со множеством, Оптимизированные операции с отсортированной картой, Оптимизированные операции с отсортированным множеством, Просмотр строки, Просмотр, Добавленный, Собрать, Объединить, Уникальные элементы, Опустить, Опустить справа, Опускать пока, Элементы,
Пустое, Заполнить, Фильтр, ПлоскоеКартирование, Итерация, ЛевоеРазделениеОтображённое, Картирование, ДополнитьДо, ДобавленноеВНачало, ПравоеРазделениеОтображённое, СканированиеСлева, Одиночный, Табулировать, Взять, ВзятьСправа, ВзятьПока, Развернуть, Обновлённый, Сжать, СжатьВсё, СжатьСИндексом, Карта, ДеревоКарт, ::, АбстрактнаяКарта, АбстрактнаяПоследовательность, АбстрактноеМножество, МассивПоследовательность, булевыхЗначений, байтов, символов, вещественных, плавающейТочки, целых, длинныхЦелых, ссылок, короткихЦелых, единиц, БитовыйВектор, ХэшКарта, ХэшМножество, ИндексированнаяПоследовательность, ОперацииИндексированныхПоследовательностей, КартаЦелых, Итерируемый, ЛенивыйСписок, ЛинейнаяПоследовательность, ОперацииЛинейныхПоследовательностей, Список, СписокКарта, СписокМножество, Узел, КартаДлинныхЦелых, Карта, Карта1, Карта2, Карта3, Карта4, СДефолтом, ОперацииКарты, НеизменяемоеМножествоКлючей, Ниль, ЧисловойДиапазон, Исключительно, Включая, Очередь, Диапазон, Исключительно, Включая, Последовательность, ПоследовательностьКарта, ОперацииПоследовательностей, Множество, Множество1, Множество2, Множество3, Множество4, ОперацииМножеств, ОтсортированнаяКарта, СДефолтом, ОперацииОтсортированнойКарты,
ImmutableKeySortedSet, НаборSortedSet, SortedSetOps, Cons, Empty, StrictOptimizedMapOps, StrictOptimizedSeqOps, StrictOptimizedSetOps, StrictOptimizedSortedMapOps, StrictOptimizedSortedSetOps, TreeMap, TreeSeqMap, TreeSet, ВекторVector, VectorMap, WrappedString, AbstractBuffer, AbstractIterable, AbstractMap, AbstractSeq, AbstractSet, AnyRefMap, ArrayBuffer, ArrayBufferView, ArrayDeque, ArrayDequeOps, ArraySeq, ofBoolean, ofByte, ofChar, ofDouble, ofFloat, ofInt, ofLong, ofRef, ofShort, ofUnit, BitSet, БуферBuffer, CollisionProofHashMap, HashMap, HashSet, IndexedBuffer, Индексированный массивIndexedSeq, IndexedSeqOps, Iterable, LinkedHashMap, LinkedKeySet, LinkedHashSet, ListBuffer, LongMap, Map, WithDefault, MapOps, Многозначное отображениеMultiMap, Очередь с приоритетомPriorityQueue, ОчередьQueue, ПоследовательностьSeq, SeqMap, SeqOps, МножествоSet, SetOps, SortedMap, WithDefault, SortedMapOps, SortedSet, SortedSetOps, СтекStack, StringBuilder, TreeMap, TreeSet, UnrolledBuffer, WeakHashMap, BufferedSource, BufferedLineIterator, ИсточникSource, LineIterator, Accumulator,
AnyAccumulator, DoubleAccumulator, IntAccumulator, LongAccumulator, SystemProperties, MatchIterator, DefaultMap, BitSet1, BitSet2, BitSetN, Stream, VectorIterator, ListMap, OpenHashMap

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

abstract def collect[B](pf: PartialFunction[A, B]): CC[B]

Создает новую коллекцию, применяя частичную функцию ко всем элементам этой коллекции, для которых функция определена.

B

тип элементов возвращаемой коллекции.

pf

частичная функция, которая фильтрует и отображает коллекцию.

returns

новая коллекция, полученная в результате применения данной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def drop(n: Int): C

Выбирает все элементы, кроме первых n.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

n

количество элементов, которые нужно удалить из этой коллекции.

returns

коллекция, состоящая из всех элементов этой коллекции, за исключением первых n элементов, или пустая коллекция, если эта коллекция содержит меньше, чем n элементов. Если n отрицательно, не удаляйте элементы.

Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def dropWhile(p: (A) => Boolean): C

Удаляет самый длинный префикс элементов, которые удовлетворяют предикату.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

p

предикат, используемый для проверки элементов.

returns

самый длинный суффикс этой коллекции, первый элемент которого не удовлетворяет предикату p.

Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def filter(p: (A) => Boolean): C

Выбирает все элементы этой коллекции, которые удовлетворяют предикату.

p

предикат, используемый для проверки элементов.

returns

новый итератор, состоящий из всех элементов этой коллекции, которые удовлетворяют данному предикату p. Порядок элементов сохраняется.

abstract def filterNot(pred: (A) => Boolean): C

Выбирает все элементы этой коллекции, которые не удовлетворяют предикату.

pred

предикат, используемый для проверки элементов.

returns

новая коллекция, состоящая из всех элементов этой коллекции, которые не удовлетворяют данному предикату pred. Их порядок может не сохраняться.

abstract def flatMap[B](f: (A) => IterableOnce[B]): CC[B]

Создает новую коллекцию, применяя функцию ко всем элементам этой коллекции и используя элементы результирующих коллекций.

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

Тип результирующей коллекции определяется статическим типом коллекции. Это иногда может приводить к неожиданным результатам. Например:

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
B

тип элементов возвращаемой коллекции.

f

функция, которую нужно применить к каждому элементу.

returns

новая коллекция, полученная в результате применения данной функции со значением коллекции f к каждому элементу этой коллекции и конкатенации результатов.

Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def flatten[B](implicit asIterable: (A) => IterableOnce[B]): CC[B]

Преобразует эту коллекцию обозреваемых коллекций в коллекцию, образованную элементами этих обозреваемых коллекций.

Тип результирующей коллекции будет определяться типом коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
B

тип элементов каждой обозреваемой коллекции.

asIterable

неявное преобразование, которое утверждает, что тип элемента этой коллекции является GenTraversable.

returns

новая коллекция, полученная в результате конкатенации всех коллекций элементов.

Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

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

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

returns

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

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

abstract def map[B](f: (A) => B): CC[B]

Создаёт новую коллекцию, применяя функцию ко всем элементам этой коллекции.

B

тип элементов возвращаемой коллекции.

f

функция, применяемая к каждому элементу.

returns

новая коллекция, полученная в результате применения данной функции f к каждому элементу этой коллекции и сбора результатов.

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def scanLeft[B](z: B)(op: (B, A) => B): CC[B]

Создаёт коллекцию, содержащую накопленные результаты применения оператора слева направо, включая начальное значение.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

B

тип элементов в результирующей коллекции

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

returns

коллекция с промежуточными результатами

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def slice(from: Int, until: Int): C

Выбирает интервал элементов. Возвращаемая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:

from <= indexOf(x) < until

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

from

наименьший индекс, который нужно включить из этой коллекции.

until

наименьший индекс, который нужно ИСКЛЮЧИТЬ из этой коллекции.

returns

коллекция, содержащая элементы, большие или равные индексу from, до (но не включая) индекс until этой коллекции.

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def span(p: (A) => Boolean): (C, C)

Разделяет эту коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, эффективнее), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

p

тестовый предикат

returns

пара, состоящая из самой длинной префиксной части этой коллекции, элементы которой удовлетворяют p, и остальной части этой коллекции.

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах.

abstract def take(n: Int): C

Выбирает первые n элементов.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

n

количество элементов, которые нужно взять из этой коллекции.

returns

коллекция, состоящая только из первых n элементов этой коллекции, или вся коллекция, если она содержит меньше n элементов. Если n отрицательно, возвращает пустую коллекцию.

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def takeWhile(p: (A) => Boolean): C

Берёт самый длинный префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

p

предикат, используемый для проверки элементов.

returns

самый длинный префикс этой коллекции, элементы которого удовлетворяют предикату p.

Note

Повторное использование: после вызова этого метода следует отбросить итератор, к которому он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

abstract def tapEach[U](f: (A) => U): C

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

U

тип возвращаемого значения f

f

функция, применяемая к каждому элементу в этой коллекции

returns

Та же логическая коллекция, что и эта

abstract def zipWithIndex: CC[(A, Int)]

Архивирует эту коллекцию со своими индексами.

returns

Новая коллекция, содержащая пары, состоящие из всех элементов этой коллекции, сопоставленных с их индексом. Индексы начинаются с 0.

Пример:

    List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Примечание

Повторное использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

Члены конкретных значений

final def !=(arg0: Any): Boolean

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

возвращает

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

Классы определений
Any

final def ##(): Int

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

возвращает

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

Классы определений
Any

def +(other: String): String

Неявный
Этот член добавляется неявным преобразованием из IterableOnceOps[A, CC, C] вany2stringadd[IterableOnceOps[A, CC, C]] выполняемым методом any2stringadd в scala.Predef.
Классы определений
any2stringadd

def ->[B](y: B): (IterableOnceOps[A, CC, C], B)

Неявный
Этот член добавляется неявным преобразованием из IterableOnceOps[A, CC, C] вArrowAssoc[IterableOnceOps[A, CC, C]] выполняемым методом 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 в противном случае.

Классы определений
Any

final def addString(b: mutable.StringBuilder): mutable.StringBuilder

Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции без разделительной строки.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> val h = a.addString(b)
h: StringBuilder = 1234
b

строковый буфер, в который добавляются элементы.

возвращает

строковый буфер b в который были добавлены элементы.

Аннотации
@inline()

final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder

Добавляет все элементы этой коллекции в строковый буфер, используя разделительную строку. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции, разделённых строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
b

строковый буфер, в который добавляются элементы.

sep

разделительная строка.

возвращает

строковый буфер b в который были добавлены элементы.

Аннотации
@inline()

def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder

Добавляет все элементы этой коллекции в строковый билдер, используя начальную, конечную и разделительную строки. Записанный текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (относительно метода toString) всех элементов этой коллекции разделены строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
b

строковый билдер, к которому добавляются элементы.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковый билдер b, к которому были добавлены элементы.

final def asInstanceOf[T0]: T0

Привести получаемый объект к типу T0.

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

returns

получаемый объект.

Определяющие классы
Any
Выбрасываемые исключения

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

def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

Находит первый элемент коллекции, для которого определена данная частичная функция, и применяет к нему частичную функцию.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.

pf

частичная функция

returns

опциональное значение, содержащее pf, примененное к первому значению, для которого оно определено, или None если такового не существует.

Пример:

    Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество записанных элементов.

Заполняет данный массив xs начиная с индекса start не более чем len элементами этой коллекции.

Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или будет скопировано len элементов.

B

тип элементов массива.

xs

массив для заполнения.

start

начальный индекс xs.

len

максимальное количество элементов для копирования.

returns

количество элементов, записанных в массив

Примечание

Повторное использование: после вызова этого метода следует отбросить итератор, на котором он был вызван. Его использование не определено и может быть изменено. Примечание: не будет завершаться для коллекций бесконечного размера.

def copyToArray[B >: A](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество записанных элементов.

Заполняет данный массив xs начиная с индекса start значениями этой коллекции.

Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.

B

тип элементов массива.

xs

массив для заполнения.

start

начальный индекс xs.

returns

количество элементов, записанных в массив Примечание: не будет завершаться для коллекций бесконечного размера.

def copyToArray[B >: A](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество записанных элементов.

Заполняет данный массив xs начиная с индекса start значениями этой коллекции.

Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.

B

тип элементов массива.

xs

массив для заполнения.

returns

количество элементов, записанных в массив Примечание: не будет завершаться для коллекций бесконечного размера.

def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя тестовому предикату.

B

тип элементов that

that

другая коллекция

p

тестовый предикат, который связывает элементы из обеих коллекций

returns

true если обе коллекции имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этого итератора и y that, иначе false

def count(p: (A) => Boolean): Int

Подсчитывает количество элементов в коллекции, которые удовлетворяют предикату.

p

предикат, используемый для проверки элементов.

returns

количество элементов, удовлетворяющих предикату p.

def ensuring(cond: (IterableOnceOps[A, CC, C]) => Boolean, msg: => Any): IterableOnceOps[A, CC, C]

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

def ensuring(cond: (IterableOnceOps[A, CC, C]) => Boolean): IterableOnceOps[A, CC, C]

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

def ensuring(cond: Boolean, msg: => Any): IterableOnceOps[A, CC, C]

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

def ensuring(cond: Boolean): IterableOnceOps[A, CC, C]

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

def equals(arg0: Any): Boolean

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

Любая реализация этого метода должна быть отношением эквивалентности:

    Он является рефлексивным: для любого экземпляра x типа Any, x.equals(x) должен вернуть true.Он является симметричным: для любых экземпляров x и y типа Any, x.equals(y) должен вернуть true тогда и только тогда, когда y.equals(x) возвращает true.Он является транзитивным: для любых экземпляров x, y, и z типа Any если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должен вернуть true.

Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode для обеспечения того, что объекты, которые "равны" (o1.equals(o2) возвращает true) хешируются в один и тот же scala.Int. (o1.hashCode.equals(o2.hashCode)).

возвращает

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

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

def exists(p: (A) => Boolean): Boolean

Проверяет, выполняется ли предикат для хотя бы одного элемента этого набора.

Примечание: может не завершаться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

true если заданный предикат p выполняется для хотя бы одного элемента этого набора, в противном случае false

def find(p: (A) => Boolean): Option[A]

Находит первый элемент в наборе, удовлетворяющий предикату, если таковой имеется.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.

p

предикат, используемый для проверки элементов.

returns

значение типа option, содержащее первый элемент в наборе, удовлетворяющий предикату p, или None если такой элемент не существует.

def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

Выполняет агрегирование элементов этого набора с помощью заданного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Примечание: не будет завершаться для коллекций бесконечного размера.

A1

параметр типа для бинарного оператора, являющийся супертипом A.

z

нейтральный элемент для операции агрегирования; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

op

бинарный оператор, который должен быть ассоциативным.

returns

результат применения оператора агрегирования op между всеми элементами и z, или z если этот набор пуст.

def foldLeft[B](z: B)(op: (B, A) => B): B

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

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора слева направо, начиная с начального значения z слева:

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn — элементы этого набора. Возвращает z если набор пуст.

def foldRight[B](z: B)(op: (A, B) => B): B

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

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора справа налево, начиная с начального значения z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn — элементы этого набора. Возвращает z если набор пуст.

def forall(p: (A) => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этого набора.

Примечание: может не завершаться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

true если этот набор пуст или заданный предикат p выполняется для всех элементов этого набора, в противном случае false.

def foreach[U](f: (A) => U): Unit

def formatted(fmtstr: String): String

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

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

def hashCode(): Int

Вычислить значение хэш-кода для объекта.

Алгоритм хэширования по умолчанию зависит от платформы.

Обратите внимание, что допустимо, чтобы два объекта имели одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) и при этом не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация всегда может возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true) , то они имели одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода обязательно проверьте, что поведение согласуется с методом equals.

returns

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

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

def isEmpty: Boolean

Проверяет, пуста ли коллекция.

Примечание: реализации в подклассах, которые не являются многократно траверсируемыми, должны позаботиться о том, чтобы не потреблять элементы, когда вызывается isEmpty.

returns

true если коллекция не содержит элементов, false в противном случае.

final def isInstanceOf[T0]: Boolean

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

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

returns

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

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

def isTraversableAgain: Boolean

Проверяет, можно ли многократно траверсировать эту коллекцию. Всегда true для Iterables и false для Iterators, если не переопределено.

returns

true если она многократно траверсируема, false в противном случае.

def max[B >: A](implicit ord: math.Ordering[B]): A

Находит наибольший элемент.

B

Тип, над которым определяется порядок.

ord

Порядок, который будет использоваться для сравнения элементов.

returns

наибольший элемент этой коллекции относительно порядка ord.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def maxBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A

Находит первый элемент, который дает наибольшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, который будет использоваться для сравнения элементов.

returns

первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка cmp.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def maxByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]

Находит первый элемент, который дает наибольшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, который будет использоваться для сравнения элементов.

returns

опциональное значение, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка cmp.

def maxOption[B >: A](implicit ord: math.Ordering[B]): Option[A]

Находит наибольший элемент.

B

Тип, над которым определяется порядок.

ord

Порядок, который будет использоваться для сравнения элементов.

returns

опциональное значение, содержащее наибольший элемент этой коллекции относительно порядка ord.

def min[B >: A](implicit ord: math.Ordering[B]): A

Находит наименьший элемент.

B

Тип, над которым определяется порядок.

ord

Порядок, который будет использоваться для сравнения элементов.

returns

наименьший элемент этой коллекции относительно порядка ord.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def minBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A

Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, используемый для сравнения элементов.

returns

первый элемент этого набора с наименьшим значением, измеряемым функцией f с учётом порядка cmp.

Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def minByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]

Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, используемый для сравнения элементов.

returns

значений опции, содержащей первый элемент этого набора с наименьшим значением, измеряемым функцией f с учётом порядка cmp.

def minOption[B >: A](implicit ord: math.Ordering[B]): Option[A]

Находит наименьший элемент.

B

Тип, по которому определяется порядок.

ord

Порядок, используемый для сравнения элементов.

returns

значения опции, содержащей наименьший элемент этого набора с учётом порядка ord.

final def mkString: String

Отображает все элементы этого набора в строке.

Делегирует addString, который можно переопределить.

returns

строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом toString) всех элементов этого набора следуют друг за другом без разделителя.

Annotations
@inline()

final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделителя.

Делегирует addString, который можно переопределить.

sep

разделитель.

returns

строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом toString) всех элементов этого набора разделены строкой sep.

Annotations
@inline()
Пример:

    List(1, 2, 3).mkString("|") = "1|2|3"

final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегирует addString, который можно переопределить.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (в соответствии с методом toString) всех элементов этого набора разделены строкой sep.

Пример:

    List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

def nonEmpty: Boolean

Проверяет, не пуст ли набор.

returns

true , если набор содержит как минимум один элемент, false в противном случае.

Annotations
@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")

def product[B >: A](implicit num: math.Numeric[B]): B

Перемножает элементы этого набора.

B

тип результата оператора *.

num

явный параметр, определяющий набор числовых операций, включающих оператор * для формирования произведения.

returns

произведение всех элементов этого набора относительно оператора * в num.

def reduce[B >: A](op: (B, B) => B): B

Сокращает элементы этой коллекции, используя указанный ассоциативный бинарный оператор.

Порядок, в котором операции выполняются над элементами, не указан и может быть недетерминированным.

B

Типовой параметр для бинарного оператора, супертип A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Результат применения оператора reduce op ко всем элементам, если коллекция не пуста.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def reduceLeft[B >: A](op: (B, A) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции, слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

B

результирующий тип бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой коллекции, слева направо:

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

где x1, ..., xn — элементы этой коллекции.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]

Условно применяет бинарный оператор ко всем элементам этой коллекции, слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

B

результирующий тип бинарного оператора.

op

бинарный оператор.

returns

необязательное значение, содержащее результат reduceLeft(op), если эта коллекция не пуста, None в противном случае.

def reduceOption[B >: A](op: (B, B) => B): Option[B]

Сокращает элементы этой коллекции, если таковые имеются, используя указанный ассоциативный бинарный оператор.

Порядок, в котором операции выполняются над элементами, не указан и может быть недетерминированным.

B

Типовой параметр для бинарного оператора, супертип A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Необязательное значение, содержащее результат применения оператора reduce op ко всем элементам, если коллекция не пуста, и None в противном случае.

def reduceRight[B >: A](op: (A, B) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции, справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

B

результирующий тип бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой коллекции, справа налево:

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn — элементы этой коллекции.

Выбрасываемые исключения

UnsupportedOperationException если эта коллекция пуста.

def reduceRightOption[B >: A](op: (A, B) => B): Option[B]

Условно применяет бинарный оператор ко всем элементам этой коллекции, справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

B

результирующий тип бинарного оператора.

op

бинарный оператор.

returns

необязательное значение, содержащее результат reduceRight(op), если эта коллекция не пуста, None в противном случае.

def reversed: Iterable[A]

Атрибуты
protected

def size: Int

Размер этой коллекции.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

число элементов в этой коллекции.

def splitAt(n: Int): (C, C)

Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

позиция, в которой нужно разделить.

returns

пара коллекций, состоящая из первых n элементов этой коллекции и других элементов.

Примечание

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах.

def sum[B >: A](implicit num: math.Numeric[B]): B

Суммирует элементы этой коллекции.

B

тип результата оператора +.

num

неявный параметр, определяющий набор арифметических операций, включающий оператор +, который используется при формировании суммы.

returns

сумма всех элементов этой коллекции относительно оператора + в num.

def to[C1](factory: Factory[A, C1]): C1

С учетом фабрики коллекций factory, преобразует эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]

final def toBuffer[B >: A]: Buffer[B]

Аннотации
@inline()

def toIndexedSeq: immutable.IndexedSeq[A]

def toList: immutable.List[A]

def toMap[K, V](implicit ev: <:<[A, (K, V)]): immutable.Map[K, V]

def toSeq: immutable.Seq[A]

returns

Эта коллекция как Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

def toSet[B >: A]: immutable.Set[B]

def toString(): String

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

Стандартное представление зависит от платформы.

returns

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

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

def toVector: immutable.Vector[A]

© 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/IterableOnceOps.html

Spec-Zone.ru

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