我试图将一个int数组转换为List,并且采取了使用Java 8 Stream的陌生路线,并提出了这个建议。
Arrays.stream(arr).boxed().collect(Collectors.toList());
我仍然很难完全理解这条线,
您几乎从未真正想要LinkedList。乔什·布洛赫(Josh Bloch)发表了一条推文,说“我写了它,但我从不使用它”。
—
安迪·特纳
“为什么
—
安德里亚斯(Andreas)
Collectors.toList()在这种情况下返回ArrayList<Integer>”“它可能不返回ArrayList。该List实施不确定,所以你不能依靠它返回什么执行。正如javadoc所说:“ 不能保证返回的List 的类型,可变性,可序列化性或线程安全性。”
并且
—
user85421-Banned,
toList()没有返回ArrayListor List,而是返回a Collector,最终将创建并返回List-,文档也指出:“ ...对返回的List 的类型,可变性,可序列化性或线程安全性不作任何保证;如果需要对返回的列表进行更多控制,请使用toCollection(Supplier) ....“

R是结果类型的通用类型。A收集器的中间累积类型的通用类型。这是收集器工作方式的实现细节。它确实进行了分治(也适用于并行处理),首先将其收集为中间类型。