Java 如何从地图中检索对象集

Java 如何从地图中检索对象集,java,map,tree,Java,Map,Tree,几乎不确定如何从生成的节点获取边的数量 private TreeMap<Node, Set<Node>> nodeToNeighbours; 添加边类 public void addEdge(Node node1, Node node2) { nodeToNeighbours.put(node2, new TreeSet<Node>()); nodeToNeighbours.put(node1, new TreeSet<Node>()); }

几乎不确定如何从生成的节点获取边的数量

private TreeMap<Node, Set<Node>> nodeToNeighbours;
添加边类

public void addEdge(Node node1, Node node2) {

nodeToNeighbours.put(node2, new TreeSet<Node>());
nodeToNeighbours.put(node1, new TreeSet<Node>());
}
这是我被卡住的原因。我必须投吗

public int getNumEdges() {
    //TreeSet<Node> x = new nodeToNeighbours.get(node1);
    return x;
}

如果您想知道映射的大小映射了多少对象,请尝试:

public int getNumEdges() {
int x=nodeToNeighbours.size();
return x;
}
如果需要映射到贴图中的对象集合

nodeToNeighbours.values();
您还可以从值集合中获取大小

Collection<Object> objectCollection=nodeToNeighbours.values();
int s=objectCollection.size();
这将为关键节点1提供TreeSet值

调用x.getSize将为您提供该节点的边数,前提是您已在树集中注册了该节点的所有边,然后使用node1作为键将其添加到NodeToNeights

我想你可能要找的是

public Integer getNumEdges() {
  final TreeSet<Node> x = nodeToNeighbours.get(node1);
  return x.getSize();
}
若你们想得到你们的树状图的大小,那个么使用类似这样的东西

public int getNumEdges() {
    return nodeToNeighbours.size();
}

它将给出树形图的大小。

您可以使用以下代码获得边缘节点的数量

public int getNumEdges() {
    int numberOfEdges = 0;
    if(nodeToNeighbours != null) {
        for(Set<Node> values : nodeToNeighbours.values()) {
            numberOfEdges = numberOfEdges + values.size();
        }
    }
    return numberOfEdges;
}

getNumEdges应该返回什么?它的尺寸是多少?是的。确切地说是一个整数。这将给出整个映射中节点边的数量。这是所需的还是返回的数量应该是特定节点的边数。整个地图示例1-2-3。数字=节点。-=边缘。3个节点,2条边
public int getNumEdges() {
    int numberOfEdges = 0;
    if(nodeToNeighbours != null) {
        for(Set<Node> values : nodeToNeighbours.values()) {
            numberOfEdges = numberOfEdges + values.size();
        }
    }
    return numberOfEdges;
}