Java Arrays.asList的性能

Java Arrays.asList的性能,java,performance,optimization,Java,Performance,Optimization,使用Arrays.asList转换静态对象数组的成本是多少?假设对象数组有N个项,它只是一个O(N)算法,其中所有项都通过引用复制,还是仅仅是一个facade,其中原始数组放在列表facade后面 它很便宜,O(1)。正如您所怀疑的,该列表只是数组的包装器。这一点得到了以下方面的证实: 返回指定数组支持的固定大小列表。(对返回的列表的更改“直写”到数组。) 当转到另一个方向(Collection.toArray)时,数组不是“直写”。对数组的更改不会影响数组来自的列表。换句话说,它克隆了原始数组

使用Arrays.asList转换静态对象数组的成本是多少?假设对象数组有N个项,它只是一个O(N)算法,其中所有项都通过引用复制,还是仅仅是一个facade,其中原始数组放在列表facade后面

它很便宜,O(1)。正如您所怀疑的,该列表只是数组的包装器。这一点得到了以下方面的证实:

返回指定数组支持的固定大小列表。(对返回的列表的更改“直写”到数组。)


当转到另一个方向(Collection.toArray)时,数组不是“直写”。对数组的更改不会影响数组来自的列表。换句话说,它克隆了原始数组。