то, что я пытаюсь сделатьне удалось установить выборки с карты с помощью java8
Set<A> set=new HashSet();
Map<String,List<String>> map=new HashMap();
if(map.keySet().contains("key"){
for(String str: map.get("key")
{
for(A a : listOfA)
{
if(a.getString().equalsIgnoreCase(str);
set.add(a);
}
}
}
То, что я пытался
if(map.keySet().contains("key")
{
listOfA
.stream()
.filter(t->t.getString().equalsIgnoreCase(map.get("key")
.stream
.flatMap(c->c.toString()))
.distinct()
.collect(Collectors.toSet()):
}
// ошибка Метод equalsIgnoreCase (String) в тип Строка не применимо к аргументам (поток)
if(map.keySet().contains("key")
{
map.get("key").stream().filter(t->t.equals(listOfA.stream().map(a->a.getString()))).collect(Collectors.toSet());
}
и этот метод возвращает набор < String
>, очевидно, в качестве выходного сигнала, но я хочу Установить < A
> в качестве выходного сигнала
так, как решить эту проблему, используя функциональное программирование
Часть с картой и '«ключ»' кажется излишней и часть вашей широкой проблемы, а не FP идиома вы хотите , –
@MarkoTopolnik, что вы мне дали, я могу опубликовать свой код активации –
@MarkoTolpolink Я добавил реальную проблему, к которой я хочу преобразовать, используя java8 –