Как изменить размер массива в Scala - PullRequest
1 голос
/ 07 ноября 2011

Я пытаюсь создать инструмент управления БД в Scala, и я хочу иметь возможность рисовать из этой базы данных в массивы, размер которых может изменяться в зависимости от данных, передаваемых им.Я знаю, как это сделать на C, PHP, VB и т. Д., Но не могу понять синтаксис Scala.

Я уверен, что это должно быть простой проблемой, поэтому любая помощь будетцениться

Ответы [ 2 ]

5 голосов
/ 07 ноября 2011

Коллекции по умолчанию в Scala имеют тенденцию быть неизменными.Операции создадут новые неизменяемые коллекции из существующих коллекций (путем добавления / удаления элементов и т. Д.).Преимущество этого состоит в том, что коллекции не меняются при итерации и написании многопоточных приложений , как правило, становится проще (множество предостережений / предположений относительно того, как вы пишете стандартную Java, применимы здесь!).1004 * Сказав все это, если вам нужен изменяемый массив, вы смотрели на ArrayBuffer (изменяемая коллекция с базовой реализацией массива)?

например,

val a = new scala.collection.mutable.ArrayBuffer[String]()
a += "A"
a += "B"
a(1)   // gives you 'B'
1 голос
/ 07 ноября 2011

Вы можете использовать System.copy для этой задачи, если вы действительно хотите использовать массив, или вы можете напрямую использовать контейнер, который автоматически изменит свой размер, например ListBuffer или ArrayList.

...