Java中是否有不可变的单链表实现?
来自函数背景,我正在寻找Java中等价的不可变单链表
不可变的单链表让我可以自由地定义多个带有公共尾部的列表。例如,如果我有list = [1,2,3]
,然后我将创建两个新列表:
first = [10 | list]
second = [15 | list]
我不是在复制清单。内部看起来更像这样:
first -> 10 -> 1 -> 2 -> 3 -> null
second -> 15 /|\
我查看了番石榴列表,但找不到有关实施细节的信息。据我所知,这是一个双链表,所以高效的前置操作是不可能的(如果我错了,请纠正我)
# 1 楼答案
试试Vavr它是开源的,所以你可以看到它的内部实现
# 2 楼答案
你试过了吗?还有similar question,你可以使用这个算法,从double中生成singlely列表