список смежности ориентированного взвешенного графа

Я использую списки смежности для представления ориентированного взвешенного графа и на основе примера кода, предоставленногоэтот ТАК вопрос, я создал следующее:

import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;

public class _Graph {
    private Map map = new HashMap();

    public void addEdge(String node1, String node2, int dist) {
        LinkedHashSet adjacent = map.get(node1);
        HashMap innerMap = new HashMap();
        if(adjacent==null) {
            adjacent = new LinkedHashSet();                       
            map.put(node1, adjacent);
        }
        innerMap.put(node2, dist);
        adjacent.add(innerMap);
    }

    public boolean isConnected(String node1, String node2) {
        Set adjacent = map.get(node1);
        if(adjacent==null) {
            return false;
        }
        return adjacent.contains(node2);
    }

    public LinkedList adjacentNodes(String node) {
        LinkedHashSet adjacent = map.get(node);
        if(adjacent==null) {
            return new LinkedList();
        }
        return new LinkedList(adjacent);
    }

}

У меня проблемы с созданиемisConnected метод для правильной работы. Я использую неправильную структуру данных для представления графика здесь (Map)? Хэш-карта будет содержать имя подключенного узла и расстояние до него:

Map
В основном, как я могу проверить, принадлежит ли узел списку смежности данного базового узла? Я думаю, что проблема сводится к правильной итерации поadjacent Set структура, или мои рассуждения неверны?В моем втором методеadjacentNodes(String node) Я возвращаю связанный список, содержащий карты (в заданной структуре) связанных узлов и их расстояния. Как я мог эффективно выполнить итерацию, чтобы увидеть все соединения какого-либо узла?

Ответы на вопрос(1)

Ваш ответ на вопрос