我有以下节点类
Class Node {
private int id;
public int getId() {
return this.id;
}
}
然后用节点创建一个 TreeSet。接下来我想根据 id 匹配找到并返回一个 Node 对象。但是,每次 findNode() 函数都返回下一个节点而不是下一个节点。我知道这是因为调用了 iterator.next() 两次。如何只调用一次以检查 id 值并返回对象引用。我也尝试过创建一个临时对象引用,但结果还是一样。
Class NodeSet {
Set<Node> set = new TreeSet<Node>();
public Node findNode(int id) {
Iterator<Node> iterator = set.iterator();
while(iterator.hasNext()) {
if(iterator.next().getId() == id)
return iterator.next();
}
return null;
}
}