Według API nie wydaje się to możliwe. Jednym z wyjaśnień jest to, że zmienne kolekcje są zdecydowanie odradzane, a niezmienne kolekcje nie potrzebują domyślnej informacji o pojemności, ponieważ liczba elementów musi być znana w czasie budowy.
Należy jednak pamiętać, że Scala domyślnie używa domyślnych informacji o pojemności, jeśli tworzy się kolekcję (w tym zmienną i niezmienną HashMap
) za pomocą wielu dostępnych metod gromadzenia danych. Na przykład, jeśli wywołasz map
na HashMap
, będzie używać map
zdefiniowane na TraversableLike
(odtworzone poniżej), a można zobaczyć, że zapewnia "wskazówkę wielkości" do budowniczego, który zapewnia te informacje o pojemności.
def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That = {
val b = bf(repr)
b.sizeHint(this)
for (x <- this) b += f(x)
b.result
}
Dziękuję .. ale moje wymaganie było działać dla java jak HashMap, gdzie mogę określić loadfactor itp. W momencie tworzenia (następnie zmodyfikowałem mój algorytm na bardziej funkcjonalny styl .. ale byłem zainteresowany bezpośredni odpowiednik nie mniej :) .. Mimo to akceptuję odpowiedź –