public WeightedQuickUnion(List<ConnectedPair> connectedPairs) {
        init(connectedPairs.size());
        sizes= new int[connectedPairs.size()];
        setSize(connectedPairs.size());

        for (ConnectedPair pair : connectedPairs) {
            connect(pair.getFirst(), pair.getSecond());
        }
    }