Я пытаюсь построить Map<String, GraphNode<Character>>
из List<Pair<GraphNode<Character>, List<String>>>
пар. Но проблема, с которой я сталкиваюсь, заключается в том, что она выдает ошибки, говорящие о том, что несоответствие типов: невозможно преобразовать из Map<Object,Object>
в Map<String,GraphNode<Character>>
.
Как мне заставить вернуться Map<String,GraphNode<Character>>
List<Pair<GraphNode<Character>, List<String>>> pairs = lines.stream().map(line -> {
String[] split = line.split(":");
List<String> dest = Lists
.newArrayList(Splitter.on(",").trimResults().omitEmptyStrings().splitToList(split[1]));
GraphNode<Character> node = new GraphNode<>(split[0].toCharArray()[0]);
return new javafx.util.Pair<GraphNode<Character>, List<String>>(node, dest);
}).collect(Collectors.toList());
Map<String, GraphNode<Character>> graphMap = pairs.stream().map(pair -> pair.getKey())
.collect(Collectors.toMap(GraphNode::getData, pair -> pair));