TreeMap и TreeSet создают новое пустое воплощение TreeMap.empty, TreeSet.empty. Это поправимо? - PullRequest
2 голосов
/ 05 апреля 2011

Рекомендуется использовать не более одного экземпляра типа коллекции. Например, Nil - это объект case в библиотеке scala.

Однако TreeMap и TreeSet создают новый экземпляр при каждом вызове empty (). Поработав с этим некоторое время, становится ясно, что проблема в том, что заказы не являются ковариантными. Есть ли обходной путь для этого?

1 Ответ

3 голосов
/ 05 апреля 2011

Это не единственная проблема. Другая проблема заключается в том, что для TreeMap[A] и TreeSet[A] необходим неявный параметр Ordering[A] для вставки и удаления значений.

Как вы можете видеть в источниках scala.collection.immutable.Set, в противном случае вы могли бы просто привести Set[Any] к Set[A], если оно пустое, поскольку параметры типа все равно удаляются во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...