ppp*_*van 2 java java-8 java-stream
流式传输时List,如何将输出收集到链表?
我尝试过以下方法:
public static void main(String[] args) {
List<String> firstList = new ArrayList<>();
firstList.add("pavan");
firstList.add("kumar");
LinkedList<String> filtered= new LinkedList<>();
filtered = (LinkedList<String>) firstList.stream().filter(t->firstList.contains("p")).collect(Collectors.toList());
System.out.println(filtered);
}
Run Code Online (Sandbox Code Playgroud)
但 这是让java.util.ArrayList无法强制转换为java.util.LinkedList.
collect(Collectors.toList())返回一个List.您无法假设List它将返回哪个实现.
使用Collectors.toCollection(),指定您希望将数据收集到的实际Collection(或List在您的情况下)实现:
LinkedList<String> filtered =
firstList.stream()
.filter(t->firstList.contains("p"))
.collect(Collectors.toCollection(LinkedList::new));
Run Code Online (Sandbox Code Playgroud)