У меня есть HashMap, где id - это ключ, а entity - это значение. Мне нужно создать новый HashMap со свойством одного объекта в качестве ключа, и весь объект остается значением. Поэтому я написал:
Stream<Link> linkStream = linkMap.values().stream();
HashMap<String, Link> anotherLinkMap = linkStream.collect(Collectors.toMap(l -> l.getLink(), l -> l));
Но компилятор говорит:
Required type:
HashMap<String, Link>
Provided:
Map<Object, Object>
no instance(s) of type variable(s) K, U exist so that Map<K, U> conforms to HashMap<String, Link>
Да, это легко написать, используя for
l oop, но я хотел бы использовать поток. Что я здесь не так делаю?