Spec-Zone.ru › Scala 2.12 Library

Пакет scala.collection.mutable

пакет mutable

Члены типа

абстрактный класс AbstractBuffer[A] extends AbstractSeq[A] с Buffer[A]

абстрактный класс AbstractIterable[A] extends collection.AbstractIterable[A] с Iterable[A]

абстрактный класс AbstractMap[K, V] extends collection.AbstractMap[K, V] с Map[K, V]

абстрактный класс AbstractSeq[A] extends collection.AbstractSeq[A] с Seq[A]

абстрактный класс AbstractSet[A] extends AbstractIterable[A] с Set[A]

абстрактный класс AbstractSortedMap[A, B] extends AbstractMap[A, B] с SortedMap[A, B]

абстрактный класс AbstractSortedSet[A] extends AbstractSet[A] с SortedSet[A]

финальный класс AnyRefMap[K <: AnyRef, V] extends AbstractMap[K, V] с Map[K, V] с MapLike[K, V, AnyRefMap[K, V]] с Serializable

Этот класс реализует изменяемые отображения с ключами AnyRef, основанные на хэш-таблице с открытым адресованием.

Основные операции отображения по отдельным записям, включая contains и get, обычно значительно быстрее с AnyRefMap по сравнению с HashMap. Обратите внимание, что числа и символы не обрабатываются специально в AnyRefMap; используются только обычные equals и hashCode в сравнениях.

Методы, которые обходятся по отображению или перегенерируют его, включая foreach и map, в общем случае не быстрее, чем с HashMap. Однако методы foreachKey, foreachValue, mapValuesNow, и transformValues быстрее альтернативных способов достижения той же функциональности.

Отображения с открытым адресованием могут стать менее эффективными при поиске после многократного добавления/удаления элементов. Хотя AnyRefMap делает попытку оставаться эффективными независимо, вызов repack для отображения, в котором больше не будут удаляться элементы, но который будет активно использоваться, может сэкономить как время, так и хранилище.

Это отображение не предназначено для хранения более 229 записей (приблизительно 500 миллионов). Максимальная емкость — 230, но производительность будет резко ухудшаться по мере приближения к 230.

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

класс ArrayBuffer[A] extends AbstractBuffer[A] with Buffer[A] with GenericTraversableTemplate[A, ArrayBuffer] with BufferLike[A, ArrayBuffer[A]] with IndexedSeqOptimized[A, ArrayBuffer[A]] with Builder[A, ArrayBuffer[A]] with ResizableArray[A] with CustomParallelizable[A, ParArray[A]] with Serializable

Реализация класса Buffer с использованием массива для внутреннего представления объединённой последовательности. Добавление, обновление и произвольный доступ занимают постоянное время (амортизированное время). Вставка в начало и удаление занимают время, линейно зависящее от размера буфера.

A

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

Аннотации
@SerialVersionUID()
C момента

1

См. также

"Обзор библиотеки коллекций Scala" раздел по Array Buffers для получения дополнительной информации.

абстрактный класс ArrayBuilder[T] extends ReusableBuilder[T, Array[T]] with Serializable

Класс-строитель для массивов.

T

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

C момента

2.8

тракт ArrayLike[A, +Repr] extends IndexedSeqOptimized[A, Repr]

Общие надклассы ArrayOps и WrappedArray, факторизующие метод deep для массивов и обернутых массивов, и служащие маркером для обёрток массивов.

A

тип элементов, содержащихся в объекте типа массив.

Repr

тип фактической коллекции, содержащей элементы.

запечатанный тракт ArrayOps[T] extends ArrayLike[T, Array[T]] with CustomParallelizable[T, ParArray[T]]

Этот класс служит обёрткой для Array с всеми операциями, которые можно найти в индексированных последовательностях. В случае необходимости, экземпляры массивов неявно преобразуются в этот класс.

Разница между этим классом и WrappedArray заключается в том, что вызов методов преобразования, таких как filter и map, приведет к массиву, в то время как WrappedArray останется WrappedArray.

T

тип элементов, содержащихся в этом массиве.

C момента

2.8

класс ArraySeq[A] extends AbstractSeq[A] with IndexedSeq[A] with GenericTraversableTemplate[A, ArraySeq] with IndexedSeqOptimized[A, ArraySeq[A]] with CustomParallelizable[A, ParArray[A]] with Serializable

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

A

тип элементов, содержащихся в этой последовательности массива.

Аннотации
@SerialVersionUID()
C момента

2.8

См. также

"Обзор библиотеки коллекций Scala" раздел по Array Sequences для получения дополнительной информации.

класс ArrayStack[T] extends AbstractSeq[T] with IndexedSeq[T] with IndexedSeqLike[T, ArrayStack[T]] with GenericTraversableTemplate[T, ArrayStack] with IndexedSeqOptimized[T, ArrayStack[T]] with Cloneable[ArrayStack[T]] with Builder[T, ArrayStack[T]] with Serializable

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

T

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

Аннотации
@SerialVersionUID()
С тех пор

2.7

См. также

"Обзор библиотеки коллекций Scala" раздел по Array Stacks для получения дополнительной информации.

класс BitSet extends AbstractSet[Int] with SortedSet[Int] with collection.BitSet with BitSetLike[BitSet] with SetLike[Int, BitSet] with Serializable

Класс для мутабельных битовых множеств.

Битовые множества — это множества неотрицательных целых чисел, которые представлены массивами переменной длины из битов, упакованных в 64-битные слова. Занимаемая битовым множеством память определяется наибольшим числом, хранящимся в нем.

Аннотации
@SerialVersionUID()
См. также

"Обзор библиотеки коллекций Scala" раздел по Mutable Bitsets для получения дополнительной информации.

трайт Buffer[A] extends Seq[A] with GenericTraversableTemplate[A, Buffer] with BufferLike[A, Buffer[A]] with scala.Cloneable

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

A

тип элементов, содержащихся в этом буфере.

С тех пор

1

трайт BufferLike[A, +This <: BufferLike[A, This] with Buffer[A]] extends Growable[A] with Shrinkable[A] with Scriptable[A] with Subtractable[A, This] with SeqLike[A, This] with scala.Cloneable

Шаблонный трайт для буферов типа Buffer[A].
Буферы используются для создания последовательностей элементов постепенно, путем добавления, вставки или удаления новых элементов. Также можно получать доступ и изменять элементы в произвольном порядке с помощью индекса элемента в текущей последовательности.

A

тип элементов буфера

This

тип самого буфера.

С тех пор

2.8

Примечание

Этот трайт предоставляет большинство операций с буфером независимо от его представления. Обычно он наследуется конкретными реализациями буферов. Для реализации конкретного буфера вам необходимо предоставить реализации следующих методов:

def apply(idx: Int): A
def update(idx: Int, elem: A)
def length: Int
def clear()
def +=(elem: A): this.type
def +=:(elem: A): this.type
def insertAll(n: Int, iter: Traversable[A])
def remove(n: Int): A

трайт Builder[-Elem, +To] extends Growable[Elem]

Базовый трайт всех билдеров. Билдер позволяет построить коллекцию постепенно, добавляя элементы в билдер с помощью +=, а затем преобразуя в необходимый тип коллекции с помощью result.
Нельзя предполагать, что один Builder может построить более одного экземпляра желаемой коллекции. Отдельные подклассы могут позволять такое поведение. В противном случае result должен рассматриваться как терминальная операция: после ее вызова к билдеру больше не следует обращаться с другими методами. Разработайте трайт collection.mutable.ReusableBuilder вместо Builder для билдеров, которые можно повторно использовать для создания нескольких экземпляров.

Elem

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

To

тип коллекции, которая была получена.

С тех пор

2.8

тракт Cloneable[+A <: AnyRef] extends scala.Cloneable

Тракт для клонируемых коллекций.

A

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

Since

2.8

final класс DefaultEntry[A, B] extends HashEntry[A, DefaultEntry[A, B]] with Serializable

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

Since

2.3

тракт FlatHashTable[A] extends HashUtils[A]

Реализующий класс, поддерживающий HashSet.

Этот тракт используется внутри. Он может быть смешан с различными коллекциями, использующими хеш-таблицу в качестве реализации.

класс GrowingBuilder[Elem, To <: Growable[Elem]] extends Builder[Elem, To]

Канонический билдер для коллекций, которые могут расти, т.е. поддерживают эффективный метод +=, который добавляет элемент в коллекцию.

GrowableBuilders могут производить только один экземпляр коллекции, которую они увеличивают.

Since

2.8

тракт HashEntry[A, E] extends AnyRef

Класс, используемый внутри.

Since

2.8

класс HashMap[A, B] extends AbstractMap[A, B] with Map[A, B] with MapLike[A, B, HashMap[A, B]] with HashTable[A, DefaultEntry[A, B]] with CustomParallelizable[(A, B), ParHashMap[A, B]] with Serializable

Этот класс реализует изменяемые карты с помощью хеш-таблицы.

A

тип ключей, содержащихся в этой хеш-карте.

B

тип значений, присвоенных ключам в этой хеш-карте.

Аннотации
@SerialVersionUID()
Since

1

См. также

Обзор библиотеки коллекций Scala раздел о Hash Tables для получения дополнительной информации.

класс HashSet[A] extends AbstractSet[A] with Set[A] with GenericSetTemplate[A, HashSet] with SetLike[A, HashSet[A]] with FlatHashTable[A] with CustomParallelizable[A, ParHashSet[A]] with Serializable

Этот класс реализует изменяемые множества с помощью хеш-таблицы.

Аннотации
@SerialVersionUID()
Since

1

См. также

Обзор библиотеки коллекций Scala раздел о Hash Tables для получения дополнительной информации.

тракт HashTable[A, Entry >: Null <: HashEntry[A, Entry]] extends HashUtils[A]

Этот класс можно использовать для построения структур данных, основанных на хеш-таблицах. Класс HashTable[A] реализует хеш-таблицу, которая сопоставляет ключи типа A со значениями полностью абстрактного типа члена Entry. Классы, использующие HashTable, должны предоставить реализацию для Entry.

В основном существуют два параметра, которые влияют на производительность хеш-таблицы: начальный размер и коэффициент заполнения. Размер относится к количеству ведер в хеш-таблице, а коэффициент заполнения — это мера того, насколько полной может стать хеш-таблица, прежде чем ее размер будет автоматически удвоен. Оба параметра можно изменить, переопределив соответствующие значения в классе HashTable.

A

тип элементов, содержащихся в этой хеш-таблице.

Since

1

class History[Evt, Pub] extends AbstractIterable[(Pub, Evt)] with Subscriber[Evt, Pub] with Iterable[(Pub, Evt)] with Serializable

Объекты History[A, B] могут подписываться на события типа A, опубликованные объектом типа B . Объект-подписчик истории записывает все опубликованные события до максимального числа maxHistory событий.

Evt

Тип событий.

Pub

Тип издателей.

Annotations
@SerialVersionUID()
Since

1

trait IndexedSeq[A] extends Seq[A] with collection.IndexedSeq[A] with GenericTraversableTemplate[A, IndexedSeq] with IndexedSeqLike[A, IndexedSeq[A]]

trait IndexedSeqLike[A, +Repr] extends collection.IndexedSeqLike[A, Repr]

Подкласс scala.collection.IndexedSeq, представляющий изменяемые последовательности.

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

Этот трайт просто реализует iterator в терминах apply и length. Однако см. IndexedSeqOptimized для реализации трайта, который переопределяет операции, чтобы сделать их более быстрыми при предположении о быстром произвольном доступе с apply.

A

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

Repr

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

trait IndexedSeqOptimized[A, +Repr] extends IndexedSeqLike[A, Repr] with collection.IndexedSeqOptimized[A, Repr]

Подкласс scala.collection.IndexedSeq, представляющий изменяемые последовательности.

Since

2.8

trait IndexedSeqView[A, +Coll] extends IndexedSeq[A] with IndexedSeqOptimized[A, IndexedSeqView[A, Coll]] with SeqView[A, Coll] with SeqViewLike[A, Coll, IndexedSeqView[A, Coll]]

Нестрогий вид изменяемой IndexedSeq.

Вид — это ленивая версия какой-либо коллекции. Трансформаторы коллекций, такие как map или filter или ++, не проходят по элементам при применении к виду. Вместо этого они создают новый вид, который просто записывает тот факт, что операция должна быть применена. Элементы коллекции и операции со взглядом обращаются к ним, когда нужен результат, отличный от взгляда, или когда вызывается метод force для вида. Некоторые из операций этого класса снова дадут изменяемую индексированную последовательность, другие дадут просто индексированную последовательность типа collection.IndexedSeq . Поскольку это листовой класс, нет связанного класса Like.

A

тип элемента вида

Coll

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

Since

2.8

тракт Iterable[A] extends Traversable[A] with collection.Iterable[A] with GenericTraversableTemplate[A, Iterable] with IterableLike[A, Iterable[A]] with Parallelizable[A, ParIterable[A]]

Базовый тракт для итерируемых коллекций, которые могут быть изменены.

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

def iterator: Iterator[A]

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

Этот тракт реализует метод Iterable's foreach перебирая все элементы с помощью iterator. Подклассы должны повторно реализовать foreach, если возможно, более эффективно.

Этот тракт добавляет методы iterator, sameElements, takeRight, dropRight к методам, унаследованным от тракта `Traversable`.

Примечание: Этот тракт заменяет каждый метод, использующий break в TraversableLike, на версию с итератором.

абстрактный класс LazyBuilder[Elem, +To] extends ReusableBuilder[Elem, To]

Билдер, который создаёт результат лениво. Итераторы или итерируемые объекты, которые добавляются в этот билдер с помощью ++=, не оцениваются до вызова result.

Этот билдер может быть повторно использован.

Elem

тип элементов для этого билдера.

To

тип коллекции, которую строит этот билдер.

Since

2.8

тракт LinearSeq[A] extends Seq[A] with collection.LinearSeq[A] with GenericTraversableTemplate[A, LinearSeq] with LinearSeqLike[A, LinearSeq[A]]

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

Линейные последовательности имеют достаточно эффективные методы head, tail и isEmpty. Если эти методы обеспечивают самый быстрый способ обхода коллекции, то коллекция Coll, которая расширяет этот тракт, также должна расширять LinearSeqOptimized[A, Coll[A]].

final класс LinkedEntry[A, B] extends HashEntry[A, LinkedEntry[A, B]] with Serializable

Класс для записи связанного хеш-карты, используемый внутри.

Since

2.8

класс LinkedHashMap[A, B] extends AbstractMap[A, B] with Map[A, B] with MapLike[A, B, LinkedHashMap[A, B]] with HashTable[A, LinkedEntry[A, B]] with Serializable

Этот класс реализует изменяемые карты, используя хеш-таблицу. Итератор и все методы обхода этого класса посещают элементы в порядке их вставки.

A

тип ключей, содержащихся в этой хеш-карте.

B

тип значений, присвоенных ключам в этой хеш-карте.

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

класс LinkedHashSet[A] extends AbstractSet[A] with Set[A] with GenericSetTemplate[A, LinkedHashSet] with SetLike[A, LinkedHashSet[A]] with HashTable[A, Entry[A]] with Serializable

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

A

тип элементов, содержащихся в этом множестве.

Аннотации
@SerialVersionUID()
С тех пор

1

final class ListBuffer[A] extends AbstractBuffer[A] with Buffer[A] with GenericTraversableTemplate[A, ListBuffer] with BufferLike[A, ListBuffer[A]] with ReusableBuilder[A, immutable.List[A]] with SeqForwarder[A] with Serializable

Реализация буфера, поддерживаемого списком. Она обеспечивает постоянное время добавления в начало и конец. Большинство других операций линейные.

A

тип элементов этого буфера списка.

Аннотации
@SerialVersionUID()
С тех пор

1

См. также

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

class ListMap[A, B] extends AbstractMap[A, B] with Map[A, B] with MapLike[A, B, ListMap[A, B]] with Serializable

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

A

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

B

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

final class LongMap[V] extends AbstractMap[Long, V] with Map[Long, V] with MapLike[Long, V, LongMap[V]] with Serializable

Этот класс реализует изменяемые массивы с ключами типа Long, основанными на хеш-таблице с открытым адресованием.

Основные операции над отдельными элементами массива, включая contains и get, как правило, существенно быстрее с LongMap по сравнению с HashMap. Методы, действующие над всем массивом, включая foreach и map, как правило, не ожидаются быстрее, чем с общим массивом, за исключением тех, которые используют особенности внутренней структуры массива: foreachKey, foreachValue, mapValuesNow, и transformValues.

Массивы с открытым адресованием могут стать менее эффективными при поиске после многократного добавления/удаления элементов. Хотя LongMap делает все возможное, чтобы оставаться эффективным независимо от этого, вызов repack для массива, из которого больше не будут удаляться элементы, но который будет активно использоваться, может сэкономить как время, так и объем памяти.

Этот массив не предназначен для хранения более 229 элементов (приблизительно 500 миллионов). Максимальная емкость составляет 230, но производительность быстро ухудшается, когда 230 приближается.

trait Map[K, V] extends Iterable[(K, V)] with collection.Map[K, V] with MapLike[K, V, Map[K, V]]

Базовый тракт для изменяемых массивов.

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

Для реализации конкретного изменяемого массива необходимо предоставить реализации следующих методов:

def get(key: K): Option[V]
def iterator: Iterator[(K, V)]
def += (kv: (K, V)): This
def -= (key: K): This

Если вы хотите, чтобы методы, такие как take, drop, filter, также возвращали тот же вид массива, вы также должны переопределить:

def empty: This

Также целесообразно переопределить методы foreach и size для повышения эффективности.

С тех пор

1.0

class MapBuilder[A, B, Coll <: GenMap[A, B] with GenMapLike[A, B, Coll]] extends ReusableBuilder[(A, B), Coll]

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

A

Тип ключей для карты, создаваемой этим билдером.

B

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

Coll

Тип фактической коллекции, которую строит этот билдер.

Since

2.8

trait MapLike[K, V, +This <: MapLike[K, V, This] with Map[K, V]] extends collection.MapLike[K, V, This] with Builder[(K, V), This] with Growable[(K, V)] with Shrinkable[K] with Cloneable[This] with Parallelizable[(K, V), ParMap[K, V]]

Шаблонный интерфейс для изменяемых карт.

Примечание об реализации: Этот интерфейс предоставляет большинство операций изменяемой Map независимо от её представления. Он обычно наследуется конкретными реализациями карт.

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

def get(key: K): Option[V]
def iterator: Iterator[(K, V)]
def += (kv: (K, V)): This
def -= (key: K): This

Если вы хотите, чтобы методы, такие как take, drop, filter также возвращали тот же тип карты, вы должны также переопределить:

def empty: This

Также рекомендуется переопределить методы foreach и size для повышения эффективности.

trait MultiMap[A, B] extends Map[A, Set[B]]

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

Этот класс обычно используется как миксин. Он превращает карты, которые отображают A в объекты Set[B], в многозначные карты, которые отображают A в объекты B.

Пример:
    // first import all necessary types from package `collection.mutable`
    import collection.mutable.{ HashMap, MultiMap, Set }
    
    // to create a `MultiMap` the easiest way is to mixin it into a normal
    // `Map` instance
    val mm = new HashMap[Int, Set[String]] with MultiMap[Int, String]
    
    // to add key-value pairs to a multimap it is important to use
    // the method `addBinding` because standard methods like `+` will
    // overwrite the complete key-value pair instead of adding the
    // value to the existing key
    mm.addBinding(1, "a")
    mm.addBinding(2, "b")
    mm.addBinding(1, "c")
    
    // mm now contains `Map(2 -> Set(b), 1 -> Set(c, a))`
    
    // to check if the multimap contains a value there is method
    // `entryExists`, which allows to traverse the including set
    mm.entryExists(1, _ == "a") == true
    mm.entryExists(1, _ == "b") == false
    mm.entryExists(2, _ == "b") == true
    
    // to remove a previous added value there is the method `removeBinding`
    mm.removeBinding(1, "a")
    mm.entryExists(1, _ == "a") == false

class MutableList[A] extends AbstractSeq[A] with LinearSeq[A] with LinearSeqOptimized[A, MutableList[A]] with GenericTraversableTemplate[A, MutableList] with Builder[A, MutableList[A]] with Serializable

Этот класс используется внутри для представления изменяемых списков. Он является основой для реализации класса Queue.

Annotations
@SerialVersionUID()
Since

1

class OpenHashMap[Key, Value] extends AbstractMap[Key, Value] with Map[Key, Value] with MapLike[Key, Value, OpenHashMap[Key, Value]]

Изменяемый хеш-мап, основанный на схеме открытого хеширования. Точная схема не определена, но она должна приложить разумные усилия, чтобы гарантировать, что вставка с последовательными кодами хеша не подвергается ненужной штрафам. В частности, сопоставления последовательных целочисленных ключей должны работать без значительной потери производительности.

Key

тип ключей в этой карте.

Value

тип значений в этой карте.

Since

2.7

sealed class PriorityQueue[A] extends AbstractIterable[A] with Iterable[A] with GenericOrderedTraversableTemplate[A, PriorityQueue] with IterableLike[A, PriorityQueue[A]] with Growable[A] with Builder[A, PriorityQueue[A]] with Serializable with scala.Cloneable

Этот класс реализует очереди с приоритетами, используя кучу. Для определения приоритета элементов типа A должно быть доступно неявное Ordering[A] при создании.

Если несколько элементов имеют одинаковый приоритет в порядке сортировки этой PriorityQueue, никакие гарантии не даются относительно порядка, в котором элементы возвращаются методами dequeue или dequeueAll. В частности, это означает, что этот класс не гарантирует поведение "первым вошел - первым вышел", которое может быть неправильно выведено из части "очередь" в имени этого класса.

Только методы dequeue и dequeueAll будут возвращать элементы в порядке приоритета (при удалении элементов из кучи). Стандартные методы коллекций, включая drop, iterator, и toString, будут удалять или проходить по куче в порядке, который кажется наиболее удобным.

Следовательно, вывод PriorityQueue не покажет порядок приоритетов элементов, хотя элемент с наивысшим приоритетом будет выведен первым. Чтобы вывести элементы в порядке, необходимо дублировать PriorityQueue (например, используя clone) и затем декьюить их:

A

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

Пример:
    val pq = collection.mutable.PriorityQueue(1, 2, 5, 3, 7)
    println(pq)                  // elements probably not in order
    println(pq.clone.dequeueAll) // prints Vector(7, 5, 3, 2, 1)
Since

1

trait Publisher[Evt] extends AnyRef

Объекты Publisher[A,This] публикуют события типа A всем зарегистрированным подписчикам. При подписке подписчик может указать фильтр, который может использоваться для ограничения количества отправляемых подписчику событий. Подписчики могут приостановить свою подписку или возобновить приостановленную подписку. Класс Publisher обычно используется как миксин. Абстрактный тип Pub моделирует тип самого издателя.

Evt

тип опубликованного события.

Since

1

class Queue[A] extends MutableList[A] with LinearSeqOptimized[A, Queue[A]] with GenericTraversableTemplate[A, Queue] with Cloneable[Queue[A]] with Serializable

Объекты Queue реализуют структуры данных, которые позволяют вставлять и извлекать элементы в порядке очереди (FIFO).

Since

1

См. также

"Обзор библиотеки коллекций Scala" раздел по Queues для получения дополнительной информации.

trait ResizableArray[A] extends IndexedSeq[A] with GenericTraversableTemplate[A, ResizableArray] with IndexedSeqOptimized[A, ResizableArray[A]]

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

A

тип элементов, содержащихся в этом изменяемом массиве.

Since

1

trait ReusableBuilder[-Elem, +To] extends Builder[Elem, To]

ReusableBuilder — это маркерный трейт, указывающий, что Builder можно повторно использовать для построения более чем одной копии коллекции. В частности, вызов result за которым следует clear создаст коллекцию и сбросит состояние билдера, чтобы начать построение новой коллекции того же типа.

Подклассы должны реализовать это поведение и документировать любое другое поведение, отличающееся от стандартного использования ReusableBuilder (например, операции, которые определены после вызова result, или возможность получения различных снимков создаваемой коллекции).

Elem

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

To

тип коллекции, которая создаётся.

Since

2.12

class RevertibleHistory[Evt <: Undoable, Pub] extends History[Evt, Pub] with Undoable with Serializable

Обратимая история — это History объект, поддерживающий операцию отмены. Переменная типа Evt ссылается на тип опубликованных событий, Pub обозначает тип издателя. Тип Pub обычно является подтипом Publisher.

Evt

тип событий

Pub

тип издателя

Since

2.8

trait Seq[A] extends Iterable[A] with collection.Seq[A] with GenericTraversableTemplate[A, Seq] with SeqLike[A, Seq[A]]

Подтип collection.Seq, представляющий изменяемые последовательности.

Последовательности — это особые случаи итерируемых коллекций класса Iterable. В отличие от итерируемых объектов, последовательности всегда имеют определённый порядок элементов. Последовательности предоставляют метод apply для индексирования. Индексы варьируются от 0 до length последовательности. Последовательности поддерживают ряд методов для поиска вхождений элементов или подпоследовательностей, включая segmentLength, prefixLength, indexWhere, indexOf, lastIndexWhere, lastIndexOf, startsWith, endsWith, indexOfSlice.

Другой способ представить последовательность — это PartialFunction от Int значений к типу элементов последовательности. Метод isDefinedAt последовательности возвращает true для интервала от 0 до length.

К последовательностям можно получить доступ в обратном порядке их элементов, используя методы reverse и reverseIterator.

Последовательности имеют два основных подтипа, IndexedSeq и LinearSeq, которые предоставляют различные гарантии производительности. IndexedSeq обеспечивает быстрый произвольный доступ к элементам и быструю операцию length. LinearSeq обеспечивает быстрый доступ только к первому элементу через head, но также имеет быструю операцию tail.

Класс добавляет метод update к collection.Seq.

trait SeqLike[A, +This <: SeqLike[A, This] with Seq[A]] extends collection.SeqLike[A, This] with Cloneable[This] with Parallelizable[A, ParSeq[A]]

Шаблонный трайт для изменяемых последовательностей типа mutable.Seq[A].

A

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

This

тип самого множества.

trait Set[A] extends Iterable[A] with collection.Set[A] with GenericSetTemplate[A, Set] with SetLike[A, Set[A]]

Обобщённый трайт для изменяемых множеств.

Для реализации конкретного изменяемого множества необходимо предоставить реализации следующих методов:

def contains(elem: A): Boolean
def iterator: Iterator[A]
def += (elem: A): this.type
def -= (elem: A): this.type

Если вы хотите, чтобы методы, такие как take, drop, filter возвращали тот же вид множества, вы также должны переопределить:

def empty: This

Также рекомендуется переопределить методы foreach и size для повышения эффективности.

Since

1.0

class SetBuilder[A, Coll <: collection.Set[A] with collection.SetLike[A, Coll]] extends ReusableBuilder[A, Coll]

Канонический билдер для изменяемых множеств.

A

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

Coll

Тип фактической коллекции, которую строит это множество.

Since

2.8

trait SetLike[A, +This <: SetLike[A, This] with Set[A]] extends collection.SetLike[A, This] with Scriptable[A] with Builder[A, This] with Growable[A] with Shrinkable[A] with Cloneable[Set[A]] with Parallelizable[A, ParSet[A]]

Шаблонный трейт для изменяемых множеств типа mutable.Set[A].

Этот трейт предоставляет большинство операций над mutable.Set независимо от его представления. Обычно он наследуется конкретными реализациями множеств.

Для реализации конкретного изменяемого множества необходимо предоставить реализации следующих методов:

def contains(elem: A): Boolean
def iterator: Iterator[A]
def += (elem: A): this.type
def -= (elem: A): this.type

Если вы хотите, чтобы методы, такие как take, drop, filter возвращали множество того же типа, необходимо также переопределить:

def empty: This

Также рекомендуется переопределить методы foreach и size для повышения эффективности.

A

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

This

тип самого множества.

Since

2.8

trait SortedMap[A, B] extends Map[A, B] with collection.SortedMap[A, B] with MapLike[A, B, SortedMap[A, B]] with SortedMapLike[A, B, SortedMap[A, B]]

Изменяемый словарь, ключи которого отсортированы.

A

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

B

тип значений, связанных с ключами.

Since

2.12

trait SortedSet[A] extends collection.SortedSet[A] with SortedSetLike[A, SortedSet[A]] with Set[A] with SetLike[A, SortedSet[A]]

final class StringBuilder extends AbstractSeq[Char] with CharSequence with IndexedSeq[Char] with StringLike[StringBuilder] with ReusableBuilder[Char, String] with Serializable

Строитель для изменяемой последовательности символов. Этот класс предоставляет API, в основном совместимый с java.lang.StringBuilder, за исключением случаев конфликта с API Scala Collections (например, метод reverse).

Annotations
@SerialVersionUID()
Since

2.7

trait Subscriber[-Evt, -Pub] extends AnyRef

Объекты Subscriber[A, B] могут подписываться на события типа A , публикуемые объектом типа B . B обычно является подтипом scala.collection.mutable.Publisher.

Since

1

trait Traversable[A] extends collection.Traversable[A] with GenericTraversableTemplate[A, Traversable] with TraversableLike[A, Traversable[A]] with Mutable

Трейт для обозримых коллекций, которые можно изменить.

Это базовый трейт всех видов изменяемых коллекций Scala. Он реализует общее поведение всех коллекций с помощью метода foreach с подписью:

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

Классы коллекций, смешивающие этот трейт, предоставляют конкретный метод foreach , который перебирает все элементы, содержащиеся в коллекции, применяя к каждому заданную функцию. Они также должны предоставить метод newBuilder для создания строителя коллекций того же типа.

Класс коллекций может или не может иметь две характеристики: строгость и упорядоченность. Ни одна из них не представлена как тип.

Элементы строгой коллекции вычисляются до использования в качестве значений. В отличие от этого, элементы нестрогой коллекции могут быть вычислены после получения экземпляра коллекции. Типичный пример нестрогой коллекции — scala.collection.immutable.Stream. Более общий класс примеров — TraversableViews.

Если коллекция является экземпляром упорядоченного класса коллекций, перебор её элементов с помощью foreach всегда будет посещать элементы в том же порядке, даже при разных запусках программы. Если класс неупорядочен, foreach может посещать элементы в разных порядках при разных запусках (но сохранит порядок в одном запуске).

Типичный пример неупорядоченной коллекции — HashMap объектов. Порядок обхода хеш-таблиц зависит от хэш-кодов элементов, которые могут отличаться в разных запусках. В отличие от этого, LinkedHashMap является упорядоченным, поскольку метод foreach посещает элементы в порядке их вставки в HashMap.

sealed class TreeMap[A, B] extends AbstractSortedMap[A, B] with SortedMap[A, B] with MapLike[A, B, TreeMap[A, B]] with SortedMapLike[A, B, TreeMap[A, B]] with Serializable

Изменяемый сортированный массив, реализованный с использованием изменяемого красно-чёрного дерева в качестве базовой структуры данных.

A

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

B

тип значений, связанных с ключами.

Annotations
@SerialVersionUID()
Since

2.12

sealed class TreeSet[A] extends AbstractSortedSet[A] with SortedSet[A] with SetLike[A, TreeSet[A]] with SortedSetLike[A, TreeSet[A]] with Serializable

Изменяемый сортированный набор, реализованный с использованием изменяемого красно-чёрного дерева в качестве базовой структуры данных.

A

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

Annotations
@SerialVersionUID()
Since

2.10

trait Undoable extends AnyRef

Классы, которые смешивают класс Undoable , предоставляют операцию undo , которая может быть использована для отмены последней операции.

Since

1

sealed class UnrolledBuffer[T] extends AbstractBuffer[T] with Buffer[T] with BufferLike[T, UnrolledBuffer[T]] with GenericClassTagTraversableTemplate[T, UnrolledBuffer] with Builder[T, UnrolledBuffer[T]] with Serializable

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

Свёрнутые связанные списки хранят элементы в связанных массивах фиксированного размера.

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

Однако они обеспечивают сложность O(n/m) случайного доступа, где n количество элементов, а m размер блоков внутреннего массива.

Идеально подходит для использования, когда:

    элементы добавляются в буфер, а затем все элементы просматриваются последовательнодва свёрнутых буфера должны быть конкатенированы (см. concat)

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

Annotations
@SerialVersionUID()

class WeakHashMap[A, B] extends convert.Wrappers.JMapWrapper[A, B] with convert.Wrappers.JMapWrapperLike[A, B, WeakHashMap[A, B]]

Хеш-карта с ссылками на записи, которые слабо достижимы. Записи удаляются из этой карты, когда на ключ больше нет (сильной) ссылки. Этот класс оборачивает java.util.WeakHashMap.

A

тип ключей, содержащихся в этой карте

B

тип значений, связанных с ключами

Since

2.8

See also

«Обзор библиотеки коллекций Scala» раздел о Weak Hash Maps для получения дополнительной информации.

abstract class WrappedArray[T] extends AbstractSeq[T] with IndexedSeq[T] with ArrayLike[T, WrappedArray[T]] with CustomParallelizable[T, ParArray[T]]

Класс, представляющий Array[T].

T

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

Since

2.8

class WrappedArrayBuilder[A] extends ReusableBuilder[A, WrappedArray[A]]

Класс-билдер для массивов.

Этот билдер может быть повторно использован.

A

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

Since

2.8

trait BufferProxy[A] extends Buffer[A] with Proxy

Это простой класс-прокси для `scala.collection.mutable.Buffer`. Он наиболее полезен для динамического построения настраиваемых наборов абстракций с использованием композиции объектов и переадресации.

A

тип элементов, содержащихся в буфере-прокси.

Annotations
@deprecated
Устарело

(С версии 2.11.0) Проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора

Since

1

trait DefaultMapModel[A, B] extends Map[A, B]

Этот класс используется внутри. Он реализует мутабельный Map класс в терминах трех функций: findEntry, addEntry, и entries.

Annotations
@deprecated
Устарело

(С версии 2.11.0) Этот трайт будет удален

Since

1

class DoubleLinkedList[A] extends AbstractSeq[A] with LinearSeq[A] with GenericTraversableTemplate[A, DoubleLinkedList] with DoubleLinkedListLike[A, DoubleLinkedList[A]] with Serializable

Этот класс реализует двусвязные списки, где и голова (elem), и хвост (next) и ссылка на предыдущий узел (prev) являются мутабельными.

A

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

Annotations
@deprecated @SerialVersionUID()
Устарело

(С версии 2.11.0) двусвязные списки низкого уровня устарели из-за особенностей интерфейса и неполных функций

Since

1

См. также

"Обзор библиотеки коллекций Scala" раздел о Double Linked Lists для получения дополнительной информации.

trait DoubleLinkedListLike[A, This <: Seq[A] with DoubleLinkedListLike[A, This]] extends SeqLike[A, This] with LinkedListLike[A, This]

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

Инвариант этой структуры данных заключается в том, что prev всегда является ссылкой на предыдущий узел в списке. Если this — первый узел списка, то prev будет null. Поле next устанавливается в this, если список пуст.

Примеры (стрелка вправо представляет next, стрелка влево представляет prev, _ представляет отсутствие значения):

Empty:

null <-- [ _ ] --,
         [   ] <-`

Single element:

null <-- [ x ] --> [ _ ] --,
         [   ] <-- [   ] <-`

More elements:

null <-- [ x ] --> [ y ] --> [ z ] --> [ _ ] --,
         [   ] <-- [   ] <-- [   ] <-- [   ] <-`
A

тип элементов, содержащихся в двусвязном списке

This

тип фактического списка, содержащего элементы

Аннотации
@deprecated
Устарело

(С версии 2.11.0) списки низкого уровня устарели из-за особенностей интерфейса и неполных функций

С версии

2.8

class ImmutableMapAdaptor[A, B] extends AbstractMap[A, B] with Map[A, B] with Serializable

Этот класс может быть использован как адаптер для создания изменяемых карт из неизменяемых реализаций карт. Только метод empty должен быть переопределён, если исходная неизменяемая карта не пуста. empty должен возвращать представление пустой карты.

Аннотации
@deprecated
Устарело

(С версии 2.11.0) адаптеры по своей природе ненадежны и склонны к проблемам производительности

С версии

1

class ImmutableSetAdaptor[A] extends AbstractSet[A] with Set[A] with Serializable

Этот класс может быть использован как адаптер для создания изменяемых множеств из неизменяемых реализаций множеств. Только метод empty должен быть переопределён, если исходное неизменяемое множество не пусто. empty должен возвращать представление пустого множества.

Аннотации
@deprecated
Устарело

(С версии 2.11.0) адаптеры по своей природе ненадежны и склонны к проблемам производительности

С версии

1

class LinkedList[A] extends AbstractSeq[A] with LinearSeq[A] with GenericTraversableTemplate[A, LinkedList] with LinkedListLike[A, LinkedList[A]] with Serializable

Более традиционный/примитивный стиль списка, где "список" также является ссылкой "голова". Ссылки могут быть созданы и изменены вручную, хотя использование API, когда это возможно, рекомендуется.

Опасность прямого изменения next:

scala> val b = LinkedList(1)
b: scala.collection.mutable.LinkedList[Int] = LinkedList(1)

scala> b.next = null

scala> println(b)
java.lang.NullPointerException

Если список пуст, next должен быть установлен в this. Последний узел в каждом изменяемом связанном списке пуст.

Примеры (_ обозначает отсутствие значения):

Empty:

[ _ ] --,
[   ] <-`

Single element:

[ x ] --> [ _ ] --,
          [   ] <-`

More elements:

[ x ] --> [ y ] --> [ z ] --> [ _ ] --,
                              [   ] <-`
A

тип элементов, содержащихся в этом связанном списке.

Аннотации
@SerialVersionUID() @deprecated
Устарело

(С версии 2.11.0) списки низкого уровня устарели из-за особенностей интерфейса и неполных функций

С версии

1

См. также

Обзор библиотеки коллекций Scala раздел о Linked Lists для получения дополнительной информации.

trait LinkedListLike[A, This <: Seq[A] with LinkedListLike[A, This]] extends SeqLike[A, This]

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

Если список пуст, next должен быть установлен в this. Последний узел в каждом изменяемом связанном списке пуст.

Примеры (_ обозначает отсутствие значения):

Empty:

[ _ ] --,
[   ] <-`

Single element:

[ x ] --> [ _ ] --,
          [   ] <-`

More elements:

[ x ] --> [ y ] --> [ z ] --> [ _ ] --,
                              [   ] <-`
A

тип элементов, содержащихся в связанном списке

This

тип фактического списка, содержащего элементы

Аннотации
@deprecated
Устарело

(С версии 2.11.0) списки низкого уровня устарели из-за особенностей интерфейса и неполных функций

С версии

2.8

трайт MapProxy[A, B] extends Map[A, B] with MapProxyLike[A, B, Map[A, B]]

Этот трайт реализует прокси для scala.collection.mutable.Map.

Он наиболее полезен для динамического сборки настраиваемых абстракций карт с использованием композиции объектов и перенаправления.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора

С тех пор

1

трайт ObservableBuffer[A] extends Buffer[A] with Publisher[Message[A] with Undoable]

Этот класс обычно используется как миксин. Он добавляет механизм подписки к классу Buffer, в который этот абстрактный класс включён. Класс ObservableBuffer публикует события типа Message.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) наблюдаемые устарели из-за устаревания скриптинга

С тех пор

1

трайт ObservableMap[A, B] extends Map[A, B] with Publisher[Message[(A, B)] with Undoable]

Этот класс обычно используется как миксин. Он добавляет механизм подписки к классу Map, в который этот абстрактный класс включён. Класс ObservableMap публикует события типа Message.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) наблюдаемые устарели из-за устаревания скриптинга

С тех пор

1

трайт ObservableSet[A] extends Set[A] with Publisher[Message[A] with Undoable]

Этот класс обычно используется как миксин. Он добавляет механизм подписки к классу Set, в который этот абстрактный класс включён. Класс ObservableSet публикует события типа Message.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) наблюдаемые устарели из-за устаревания скриптинга

С тех пор

1

запечатанный абстрактный класс PriorityQueueProxy[A] extends PriorityQueue[A] with Proxy

Этот класс служит прокси для очередей с приоритетами. Элементы очереди должны быть упорядочены в терминах класса Ordered[T].

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора

С тех пор

1

трайт QueueProxy[A] extends Queue[A] with Proxy

Объекты Queue реализуют структуры данных, которые позволяют вставлять и извлекать элементы в порядке очереди (FIFO).

A

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

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора

С тех пор

1

трайт SetProxy[A] extends Set[A] with SetProxyLike[A, Set[A]]

Это простой класс-обёртка для scala.collection.mutable.Set. Он наиболее полезен для динамического сборки настраиваемых абстракций множеств с использованием композиции объектов и перенаправления.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора

С тех пор

1

класс Stack[A] extends AbstractSeq[A] with Seq[A] with SeqLike[A, Stack[A]] with GenericTraversableTemplate[A, Stack] with Cloneable[Stack[A]] with Serializable

Стек реализует структуру данных, которая позволяет хранить и извлекать объекты в порядке LIFO (последним вошел — первым вышел).

A

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

Аннотации
@deprecated
Устаревшее

(С версии 2.12.0) Stack — это неэлегантный и потенциально плохо работающий оболочка вокруг List. Используйте List, присвоенный переменной вместо этого.

С

1

См. также

"Обзор библиотеки коллекций Scala" раздел о Stacks для получения дополнительной информации.

тракт StackProxy[A] extends Stack[A] with Proxy

Стек реализует структуру данных, которая позволяет хранить и извлекать объекты в порядке LIFO (последним вошел — первым вышел).

A

тип элементов в этом прокси-стеке.

Аннотации
@deprecated
Устаревшее

(С версии 2.11.0) Прямое использование прокси устарело из-за отсутствия использования и поддержки на уровне компилятора.

С

1

тракт SynchronizedBuffer[A] extends Buffer[A]

Этот класс должен использоваться как миксин. Он синхронизирует Buffer методы класса, в который он добавлен.

A

тип элементов, содержащихся в этом буфере.

Аннотации
@deprecated
Устаревшее

(С версии 2.11.0) Синхронизация через тракты устарела, так как она в своей сути ненадежна. Рассмотрите java.util.concurrent.ConcurrentLinkedQueue в качестве альтернативы.

С

1

тракт SynchronizedMap[A, B] extends Map[A, B]

Этот класс должен использоваться как миксин. Он синхронизирует Map функции класса, в который он добавлен.

A

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

B

тип значений, связанных с ключами.

Аннотации
@deprecated
Устаревшее

(С версии 2.11.0) Синхронизация через тракты устарела, так как она в своей сути ненадежна. Рассмотрите java.util.concurrent.ConcurrentHashMap в качестве альтернативы.

С

1

закрытый класс SynchronizedPriorityQueue[A] extends PriorityQueue[A]

Этот класс реализует синхронизированные очереди с приоритетами, используя двоичную кучу. Элементы очереди должны быть упорядочены по отношению к Ordered[T] классу.

A

тип элементов, содержащихся в этой синхронизированной очереди с приоритетами

Аннотации
@deprecated
Устаревшее

(С версии 2.11.0) Всеобъемлющая синхронизация через выборочное переопределение методов в своей сути ненадежна. Рассмотрите java.util.concurrent.ConcurrentSkipListSet в качестве альтернативы.

С

1

класс SynchronizedQueue[A] extends Queue[A]

Это синхронизированная версия Queue[T] класса. Он реализует структуру данных, которая позволяет вставлять и извлекать элементы в порядке FIFO (первым вошел — первым вышел).

A

тип элементов, содержащихся в этой синхронизированной очереди.

Аннотации
@deprecated
Устаревшее

(С версии 2.11.0) Синхронизация через выборочное переопределение методов в своей сути ненадежна. Рассмотрите java.util.concurrent.ConcurrentLinkedQueue в качестве альтернативы.

С

1

тракт SynchronizedSet[A] extends Set[A]

Этот класс следует использовать в качестве миксина. Он синхронизирует функции Set класса, в который он смешан.

A

тип элементов, содержащихся в этом синхронизированном наборе.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) Синхронизация через трайты устарела, так как она изначально ненадежна. Рассмотрите java.util.concurrent.ConcurrentHashMap[A,Unit] в качестве альтернативы.

Начиная с

1

класс SynchronizedStack[A] extends Stack[A]

Это синхронизированная версия класса Stack[T]. Она реализует структуру данных, которая позволяет хранить и извлекать объекты в порядке «последний вошел — первый вышел» (LIFO).

A

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

Аннотации
@deprecated
Устарело

(Начиная с версии 2.11.0) Синхронизация через выборочную переопределяемость методов изначально ненадежна. Рассмотрите java.util.concurrent.LinkedBlockingDequeue вместо этого.

Начиная с

1

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

объект AnyRefMap расширяет Serializable

объект ArrayBuffer расширяет SeqFactory[ArrayBuffer] с Serializable

Объект-фабрика для класса ArrayBuffer.

Этот объект предоставляет набор операций для создания значений ArrayBuffer.

объект ArrayBuilder расширяет Serializable

Дополнительный объект для билдеров массивов.

Since

2.8

объект ArrayOps

Дополнительный объект для ArrayOps.

Since

2.8

объект ArraySeq расширяет SeqFactory[ArraySeq] с Serializable

объект ArrayStack расширяет SeqFactory[ArrayStack] с Serializable

Объект-фабрика для класса ArrayStack.

Этот объект предоставляет набор операций для создания значений ArrayStack.

объект BitSet расширяет BitSetFactory[BitSet] с Serializable

объект Buffer расширяет SeqFactory[Buffer]

объект HashMap расширяет MutableMapFactory[HashMap] с Serializable

объект HashSet расширяет MutableSetFactory[HashSet] с Serializable

объект IndexedSeq расширяет SeqFactory[IndexedSeq]

Этот объект предоставляет набор операций для создания значений mutable.IndexedSeq. Текущая реализация по умолчанию mutable.IndexedSeq — ArrayBuffer.

объект IndexedSeqView

Объект, содержащий необходимые неявные определения для работы SeqView. К клиентам его определения обычно не обращаются напрямую.

Обратите внимание, что фабрики canBuildFrom возвращают SeqView, а не IndexedSeqView. Это сделано намеренно, так как не все операции возвращают снова mutable.IndexedSeqView. Например, map возвращает только SeqView, что отражает неспособность map сохранить указатель на исходную индексированную последовательность.

объект Iterable расширяет GenTraversableFactory[Iterable] с TraversableFactory[Iterable]

Этот объект предоставляет набор операций для создания значений mutable.Iterable. Текущая реализация по умолчанию mutable.Iterable — ArrayBuffer.

объект LinearSeq расширяет SeqFactory[LinearSeq]

Этот объект предоставляет набор операций для создания значений mutable.LinearSeq. Текущая реализация по умолчанию mutable.LinearSeq — MutableList.

объект LinkedHashMap расширяет MutableMapFactory[LinkedHashMap] с Serializable

объект LinkedHashSet расширяет MutableSetFactory[LinkedHashSet] с Serializable

объект ListBuffer расширяет SeqFactory[ListBuffer] с Serializable

объект ListMap extends MutableMapFactory[ListMap] with Serializable

объект LongMap extends Serializable

объект Map extends MutableMapFactory[Map]

Этот объект предоставляет набор операций, необходимых для создания значений mutable.Map. Текущая реализация по умолчанию mutable.Map является HashMap.

объект MutableList extends SeqFactory[MutableList] with Serializable

объект OpenHashMap

объект PriorityQueue extends OrderedTraversableFactory[PriorityQueue] with Serializable

объект Queue extends SeqFactory[Queue] with Serializable

объект ResizableArray extends SeqFactory[ResizableArray]

объект Seq extends SeqFactory[Seq]

Этот объект предоставляет набор операций для создания значений mutable.Seq. Текущая реализация по умолчанию mutable.Seq представляет собой ArrayBuffer.

объект Set extends MutableSetFactory[Set]

Этот объект предоставляет набор операций, необходимых для создания значений mutable.Set. Текущая реализация по умолчанию mutable.Set является HashSet.

объект SortedMap extends MutableSortedMapFactory[SortedMap]

объект SortedSet extends MutableSortedSetFactory[SortedSet]

объект Stack extends SeqFactory[Stack] with Serializable

Объект-фабрика для класса mutable.Stack.

Этот объект предоставляет набор операций для создания значений mutable.Stack.

объект StringBuilder extends Serializable

объект Traversable extends GenTraversableFactory[Traversable] with TraversableFactory[Traversable]

Этот объект предоставляет набор операций для создания значений mutable.Traversable. Текущая реализация по умолчанию mutable.Traversable является ArrayBuffer.

объект TreeMap extends MutableSortedMapFactory[TreeMap] with Serializable

объект TreeSet extends MutableSortedSetFactory[TreeSet] with Serializable

объект UnrolledBuffer extends ClassTagTraversableFactory[UnrolledBuffer] with Serializable

объект WeakHashMap extends MutableMapFactory[WeakHashMap] with Serializable

объект WrappedArray

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

Spec-Zone.ru

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