如何在Java中基于节点枚举对象?

如何在Java中基于节点枚举对象?,java,parsing,operators,nodes,enumeration,Java,Parsing,Operators,Nodes,Enumeration,假设我构建了一个整数节点,如下所示: Node<Integer> node = new Node<Integer>(0, new Node<Integer>(1, new Node<Integer>(2, null))); 如果我答对了这个问题,那么您正在寻找的函数通常称为map,而它在Java中并不存在 但是,它是函数式编程中常用的一种范例,因此您可能需要检查一下,例如,它为Java用户提供了一系列函数特性。如果我答对了问题,您正在寻找的函数通

假设我构建了一个整数节点,如下所示:

Node<Integer> node = new Node<Integer>(0, new Node<Integer>(1, new Node<Integer>(2, null)));

如果我答对了这个问题,那么您正在寻找的函数通常称为map,而它在Java中并不存在


但是,它是函数式编程中常用的一种范例,因此您可能需要检查一下,例如,它为Java用户提供了一系列函数特性。

如果我答对了问题,您正在寻找的函数通常称为map,而Java本身并不存在


但是,它是函数式编程中常用的一种范例,因此您可能需要检查一下,例如,它为Java用户提供了一系列函数特性。

如果我答对了问题,您正在寻找的函数通常称为map,而Java本身并不存在


但是,它是函数式编程中常用的一种范例,因此您可能需要检查一下,例如,它为Java用户提供了一系列函数特性。

如果我答对了问题,您正在寻找的函数通常称为map,而Java本身并不存在



但是,它是函数式编程中常用的一种范例,因此您可能需要检查一下,例如,哪个为Java用户提供了一系列函数特性。

递归呢?模式。@RC:如果你说的是一个“永不结束”的节点,我假设没有递归。如果您正在谈论使用递归,我首先需要知道如何在节点“成员”上执行所需的操作……那么递归呢?模式。@RC:如果你说的是一个“永不结束”的节点,我假设没有递归。如果您正在谈论使用递归,我首先需要知道如何在节点“成员”上执行所需的操作……那么递归呢?模式。@RC:如果你说的是一个“永不结束”的节点,我假设没有递归。如果您正在谈论使用递归,我首先需要知道如何在节点“成员”上执行所需的操作……那么递归呢?模式。@RC:如果你说的是一个“永不结束”的节点,我假设没有递归。如果您正在谈论使用递归-我首先需要知道如何在节点“成员”上执行所需的操作…这里唯一要注意的是循环引用会让您陷入无休止的递归循环,直到遇到StackOverflower错误。通过在处理后但在调用
next.multiply
之前将每个节点添加到集合中,可以避免(以一定代价)这种情况。如果
next
不在已处理节点的集合中,则只调用
next.multiply
。或者,如果循环引用在设计上是不允许的,那么可以在
下一步
被赋值时检查循环引用,如果找到循环引用,则抛出IllegalArgumentException。我实际上没有考虑无限递归循环的情况,谢谢@user3053080这是递归(即,乘法在满足条件之前调用自身)哦,我以为你指的是“无止境的递归循环”,意思是“节点链”如果您将一个节点的
next
值设置为同一链中的另一个节点,则可能会反复调用自身。这里唯一需要注意的是循环引用会让您陷入无休止的递归循环,直到遇到StackOverflower错误。通过在处理后但在调用
next.multiply
之前将每个节点添加到集合中,可以避免(以一定代价)这种情况。如果
next
不在已处理节点的集合中,则只调用
next.multiply
。或者,如果循环引用在设计上是不允许的,那么可以在
下一步
被赋值时检查循环引用,如果找到循环引用,则抛出IllegalArgumentException。我实际上没有考虑无限递归循环的情况,谢谢@user3053080这是递归(即,乘法在满足条件之前调用自身)哦,我以为你指的是“无止境的递归循环”,意思是“节点链”如果您将一个节点的
next
值设置为同一链中的另一个节点,则可能会反复调用自身。这里唯一需要注意的是循环引用会让您陷入无休止的递归循环,直到遇到StackOverflower错误。通过在处理后但在调用
next.multiply
之前将每个节点添加到集合中,可以避免(以一定代价)这种情况。如果
next
不在已处理节点的集合中,则只调用
next.multiply
。或者,如果循环引用在设计上是不允许的,那么可以在
下一步
被赋值时检查循环引用,如果找到循环引用,则抛出IllegalArgumentException。我实际上没有考虑无限递归循环的情况,谢谢@user3053080这是递归(即,乘法在满足条件之前调用自身)哦,我以为你指的是“无止境的递归循环”,意思是“节点链”如果您将一个节点的
next
值设置为同一链中的另一个节点,则可能会反复调用自身。这里唯一需要注意的是循环引用会让您陷入无休止的递归循环,直到遇到StackOverflower错误。通过在处理后但在调用
next.multiply
之前将每个节点添加到集合中,可以避免(以一定代价)这种情况。如果
next
不在已处理节点的集合中,则只调用
next.multiply
。或者,如果循环引用在设计上是不允许的,那么可以在
下一步
被赋值时检查循环引用,如果找到循环引用,则抛出IllegalArgumentException。我实际上没有考虑无限递归循环的情况,谢谢@user3053080,这是递归(即,在满足条件之前,乘法调用自身)
public class Node<T> {
    private T info;
    private Node<T> next;
    ...
}
public class Node {
    private int value = 0;
    private Node next = null;
...
    public void multiply(int num) {
        value *= num;
        if (next != null)
            next.multiply(num);
    }
}