Каков наиболее эффективный способ создания пустого ListBuffer? - PullRequest
8 голосов
/ 09 апреля 2010

Какой самый эффективный способ создания пустого ListBuffer?

  1. val l1 = new mutable.ListBuffer[String]
  2. val l2 = mutable.ListBuffer[String] ()
  3. val l3 = mutable.ListBuffer.empty[String]

Есть ли плюсы и минусы в разнице?

Ответы [ 2 ]

10 голосов
/ 09 апреля 2010

Заказ по эффективному:

  1. new mutable.ListBuffer[String]
  2. mutable.ListBuffer.empty[String]
  3. mutable.ListBuffer[String] ()

Вы можете увидеть исходный код ListBuffer & GenericCompanion

7 голосов
/ 09 апреля 2010

new mutable.ListBuffer[String] создает только один объект (сам буфер списка), поэтому он должен быть наиболее эффективным способом. mutable.ListBuffer[String] () и mutable.ListBuffer.empty[String] оба сначала создают экземпляр scala.collection.mutable.AddingBuilder, который затем запрашивает новый экземпляр ListBuffer.

...