Ответ 1
Мне не известны такие блок-схемы для Scala, но я думаю, что это было бы полезно. Я сделал один для вас - увеличенное изображение здесь.
Обратите внимание, что есть некоторая дополнительная сложность, поскольку Scala имеет больше наборов, и есть как пакет mutable
, так и immutable
. По возможности я добавил обе альтернативы прямоугольнику.
Я старался как можно больше следовать диаграмме потока С++ STL, но я думал, что нижняя левая часть слишком усложняет ситуацию, поэтому я немного изменил поток.
EDIT: исправлены некоторые опечатки.
РЕДАКТИРОВАТЬ: Как предложил Тревис, обратите внимание, что в большинстве ситуаций вам нужно всего лишь выбрать между Map
, Set
, List
, ArrayBuffer
или Vector
.
- Если вам нужен поиск по ключевым словам, используйте
Map
- если вам нужно проверить наличие элементов, используйте
Set
- если вам нужно хранить элементы и перемещать их, используйте
List
илиArrayBuffer
- если вам не нужна постоянная коллекция, но произвольный доступ действительно важен, используйте
ArrayBuffer
- если вам нужен относительно быстрый случайный доступ и постоянные последовательности, используйте
Vector
Если это не помогает, и у вас есть более экзотический случай использования, используйте эту диаграмму.