Реализации изменяемых коллекций

Seq

ArraySeq

Последовательные массивы - это изменяемые массивы со свойствами последовательности фиксированного размера, которые хранят свои элементы внутри Array[Object]

Вам стоит использовать ArraySeq, если вам нужен массив из-за его показателей производительности, но вы дополнительно хотите использовать обобщеные экземпляры последовательности, в которых вы не знаете тип элементов и у которого нет ClassTag который будет предоставлен непосредственно во время исполнения.

Наследуется от IndexedSeq

ArrayDeque

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

Double-ended queue that internally uses a resizable circular buffer

Наследуется от IndexedSeq

StringBuilder

Так же, как буферизированный массив полезен для создания массивов, а буферизированный список полезен для построения списков, StringBuilder полезен для создания строк.

Обертка над java.lang.StringBuilder

Наследуется от IndexedSeq

Stack

LIFO, основан на ArrayDeque

Наследуется от IndexedSeq

Queue

FIFO, основан на ArrayDeque

Наследуется от IndexedSeq

ArrayBuffer

ArrayBuffer - буферизированный массив в своем буфере хранит массив и его размер. Большинство операций с буферизированным массивом выполняются с той же скоростью, что и с массивом, так как операции просто обращаются и изменяют исходный массив. Кроме того он может эффективно добавлять данные к своему концу. Присоединение элемента к такому массиву занимает амортизированное константное время.

Наследуется от IndexedSeq, Buffer

ListBuffer

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

Наследуется от Buffer

PriorityQueue

This class implements priority queues using a heap

Map

HashMap

Основываются на хэш-таблицах

WeakHashMap

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

ListMap

Ассоциативная коллекция выраженный связанным списоком ключей и значений.

TreeMap

Ассоциативная коллекция на красно-черном дереве. С ключами в качестве узлов дерева и элементами в качетве листьев.

LinkedHashMap

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

Наследуется от SeqMap

Set

HashSet

Основываются на хэш-таблицах

LinkedHashSet

Реализован на основе LinkedHashMap

BitSet

Изменяемый набор типа mutable.BitSet практически такойже как и неизменяемый набор, за исключением того, что он при изменении сам меняется.

Наследуется от SortedSet