Java中是否有不可变的单链表实现?



来自功能背景,我在Java中寻找等效的不可变单链表。

不可变单链表让我可以自由地定义许多具有共同尾的列表。例如,如果我有list = [1,2,3],然后我要创建两个新列表:

first = [10 | list]
second = [15 | list]

我没有抄列表。在内部看起来更像这样:

first -> 10 -> 1 -> 2 -> 3 -> null
second -> 15  /|

我查看了Guava Lists,但是我找不到关于实现细节的信息。据我所知,这是一个双链表,所以有效的前置操作是不可能的(请纠正我,如果我错了)。

你试过Functional Java吗?还有一个类似的问题,你可以用这个算法从double中生成单列表

试试Vavr,它是开源的,所以你可以看到内部实现

相关内容

  • 没有找到相关文章

最新更新