Size: a a a

2020 March 03

C

Cyclone in Java & Co
Ребят, есть несколько реализаций интерфейса, надо выбрать конкретную реализацию по значению пришедшего енума.
Каждая реализация интерфейса говорит, какие значения енума поддерживает (Set<енум>).
Возможно в 1 цикл (стрим) собрать Map<енум, реализация_интерфейса>? У меня получается только в 2 цикла.

Код ниже или запускаемый по ссылке: https://ideone.com/vW2Jer

A - enum, B - interface
Map<A, B> map = Arrays.stream(A.values())
 .collect(toMap(Function.identity()
   , a -> setOfB.stream()
     .filter(b -> b.getSetOfA().contains(a))
     .findAny()
     .orElseThrow(...)
     ));
источник

SR

Sergii Roshchupkin in Java & Co
а у вас задача стоит что реализация должна использовать набор взаимоисключающих значений енама?
источник

AY

Andrew Yablokov in Java & Co
Cyclone
Ребят, есть несколько реализаций интерфейса, надо выбрать конкретную реализацию по значению пришедшего енума.
Каждая реализация интерфейса говорит, какие значения енума поддерживает (Set<енум>).
Возможно в 1 цикл (стрим) собрать Map<енум, реализация_интерфейса>? У меня получается только в 2 цикла.

Код ниже или запускаемый по ссылке: https://ideone.com/vW2Jer

A - enum, B - interface
Map<A, B> map = Arrays.stream(A.values())
 .collect(toMap(Function.identity()
   , a -> setOfB.stream()
     .filter(b -> b.getSetOfA().contains(a))
     .findAny()
     .orElseThrow(...)
     ));
Т - типизация
источник

C

Cyclone in Java & Co
Andrew Yablokov
Т - типизация
? - ?
источник

AY

Andrew Yablokov in Java & Co
Cyclone
? - ?
отсылочка для избранных
источник

AY

Andrew Yablokov in Java & Co
Cyclone
Ребят, есть несколько реализаций интерфейса, надо выбрать конкретную реализацию по значению пришедшего енума.
Каждая реализация интерфейса говорит, какие значения енума поддерживает (Set<енум>).
Возможно в 1 цикл (стрим) собрать Map<енум, реализация_интерфейса>? У меня получается только в 2 цикла.

Код ниже или запускаемый по ссылке: https://ideone.com/vW2Jer

A - enum, B - interface
Map<A, B> map = Arrays.stream(A.values())
 .collect(toMap(Function.identity()
   , a -> setOfB.stream()
     .filter(b -> b.getSetOfA().contains(a))
     .findAny()
     .orElseThrow(...)
     ));
Вы в рантайме это делаете?
источник

C

Cyclone in Java & Co
Andrew Yablokov
Вы в рантайме это делаете?
В конструкторе спрингового компонента.
источник

C

Cyclone in Java & Co
Sergii Roshchupkin
а у вас задача стоит что реализация должна использовать набор взаимоисключающих значений енама?
Каждый класс говорит: я умею работать вот с такими значениями енума.
источник

AY

Andrew Yablokov in Java & Co
Cyclone
В конструкторе спрингового компонента.
я к тому, что если у вас есть все данные при компиляции, зачем составлять мапу в рантайме если судить по примеру кода. ну Set.of было бы приятнее видеть имхо
источник

SR

Sergii Roshchupkin in Java & Co
Cyclone
Каждый класс говорит: я умею работать вот с такими значениями енума.
Map<A, B> map вы уверены что должно быть так а не Map<A, List/Set<B>> map
источник

C

Cyclone in Java & Co
Sergii Roshchupkin
Map<A, B> map вы уверены что должно быть так а не Map<A, List/Set<B>> map
Да, каждому енуму соответствует ровно одна реализация.
источник

AY

Andrew Yablokov in Java & Co
Cyclone
Да, каждому енуму соответствует ровно одна реализация.
static Map.of и вперёд
источник

C

Cyclone in Java & Co
Речь про динамическое решение, а не хардкодное.
источник

PS

Petrov Sergey in Java & Co
кто подскажет по интерфейсам + абстрактный класс?
источник

Ч

Чувак in Java & Co
Petrov Sergey
кто подскажет по интерфейсам + абстрактный класс?
Да.
источник

Ч

Чувак in Java & Co
Раян Котлинг.
источник

VS

Vitaly Sirotkin in Java & Co
Petrov Sergey
кто подскажет по интерфейсам + абстрактный класс?
Да

А почему ты спрашиваешь
источник

А

Александр in Java & Co
Чувак
Раян Котлинг.
Рояль канин
источник

n

ncode in Java & Co
Люди, нужна помощь. Сижу ломаю голову над данной херней:
"Создайте метод abc, инпут параметр которого N-ое количество массивов типа String. В методе создайте новый массив, который будет состоять из элементов массивов-параметров и будет аутпутом данного метода."
Вообще ломается уже голова, не могу прикинуть как это реализовать правильно 😭
источник

n

ncode in Java & Co
Ступор на моменте как передать по очереди значения в отдельный массив
источник