public class Graf implements IGraf { private final List wierzcholki; private final Map, S> krawedzie; public Graf(List wierzcholki, Map, S> krawedzie) { this.wierzcholki = wierzcholki; this.krawedzie = krawedzie; } @Override public List wierzcholki() { return wierzcholki; } @Override public S krawedz(W w1, W w2) { Pair temp = new Pair<>(w1, w2); return krawedzie.get(temp); } @Override public List krawedzie(W w) { List temp = new ArrayList<>(); for(Pair p : krawedzie.keySet()) if(w.equals(p.getKey())) temp.add(p.getValue()); return temp; } }