use*_*158 11 java list java-8 java-stream collectors
我试图将一个int数组转换为List,并且采取了使用Java 8 Stream的陌生路线,并提出了这个建议。
Arrays.stream(arr).boxed().collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我仍然很难完全理解这条线,
And*_*cus 14
这是默认实现。ArrayList
之所以使用,是因为它在大多数情况下都是最好的,但是如果不适合您,则可以随时定义自己的收集器并为Collection
您提供所需的工厂:
Arrays.stream(arr).boxed().collect(toCollection(LinkedList::new));
Run Code Online (Sandbox Code Playgroud)是的,A
并且R
是此方法的通用参数,R
是返回类型,T
输入类型和A
中间类型,在收集元素的整个过程中都会出现(可能不可见并且与该功能无关)。您提供的javadoc的开头定义了这些类型(它们在整个文档中都是一致的):
T-归约运算的输入元素的类型
A-归约运算的可变累积类型(通常隐藏为实现细节)
R-归约运算的结果类型