Какую коллекцию vavr использовать для переноса java .util.ArrayList - PullRequest
0 голосов
/ 21 марта 2020

У меня есть java.util.ArrayList, возвращенный библиотекой. Как только я получу объект, я хотел бы преобразовать его в коллекцию vavr.

Что я должен использовать, чтобы минимизировать вычисления для этого? У меня нет четкого сценария использования после этого.

  1. Первое, что приходит на ум, это использовать io.vavr.collection.Iterator.ofAll(x), но это будет оптимально, только если я буду повторяться.
  2. Использование io.vavr.collection.Vector или io.vavr.collection.Array приведет к созданию экземпляров коллекций vavr.

Что я должен использовать? Это можно назвать представлениями (не обертками). Существуют ли какие-либо рекомендации относительно того, как правильно взаимодействовать между java и коллекциями vavr с минимальным трением / вычислениями - в конце концов, только когда это необходимо?


Обновление

Вопрос выглядит аналогично Ленивое представление java .util. Коллекция в Vavr

1 Ответ

0 голосов
/ 21 марта 2020

Я бы просто создал из него vavr Array или Vector и забыл бы о стоимости копирования.

Вы работаете с огромными коллекциями или делаете это в тесном oop? Если нет, я бы не стал слишком беспокоиться о стоимости копирования. Если да, вам придется подумать о чем-то, чтобы избежать преобразования, но это будет зависеть от фактического варианта использования. Не существует решения, подходящего для всех вариантов использования.

Вы также можете создать новый тип, который обернет ArrayList, который лениво создает vavr Iterator, Array или Vector, и вы выберите метод преобразования, который нужно вызвать на основе варианта использования, но полезность такого типа, на мой взгляд, ограничена.

...