Карта Scala с типом значения примитивных типов - PullRequest
5 голосов
/ 08 августа 2011

Как я понимаю, объявление карты из scala stdlib не специализирует ее для примитивных типов. То, что я ищу, это не платить цену бокса / распаковки, но в то же время иметь интерфейс карт Scala. Очевидным выбором будет использование трёх карт, но я не верю, что есть виды скала Любая помощь приветствуется.

1 Ответ

4 голосов
/ 08 августа 2011

В настоящее время это невозможно, поскольку интерфейс не является специализированным. Это означает, что независимо от того, что вы делаете в самой коллекции, значения будут помещены в коробку, чтобы получить их через интерфейс.

На данный момент нет особенно подходящих вариантов; использование Trove с некоторыми неявными преобразованиями в коллекции Scala для тех случаев, когда удобство важнее, чем производительность, вероятно, лучшее, что вы получите.

(Я сам пытался исправить эту ситуацию и могу засвидетельствовать, что это нелегко, учитывая текущее состояние поддержки специализации в компиляторе; специализация существующей библиотеки сейчас непрактична, а создать свою собственную сложно в лучше всего. Надеюсь, будущие версии улучшат ситуацию, но сейчас это не очень полезно для вас.)

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