仅使用 JDK8+ Lambda 连接相同对象类型的列表
Join Lists of Same Object Type Using Only JDK8+ Lambdas
有没有办法仅使用 JDK8+ Lambdas 连接两个相同类型的列表(比如 List<Computer> list1, list2;
)?能举个例子吗?
您可以将它们平面映射以获得组合流或列表:
Stream<Computer> joined = Stream.of(list1, list2)
.flatMap(List::stream);
List<Computer> list = joined.collect(toList());
或者,
Stream<Computer> joined = Stream.concat(list1.stream(), list2.stream());
不确定相对于 assylias 的回答是否有任何优势或劣势。这样可能更容易理解。不过,这不使用任何 lambda。我怀疑 OP 也可能意味着 "or streams APIs"。
有没有办法仅使用 JDK8+ Lambdas 连接两个相同类型的列表(比如 List<Computer> list1, list2;
)?能举个例子吗?
您可以将它们平面映射以获得组合流或列表:
Stream<Computer> joined = Stream.of(list1, list2)
.flatMap(List::stream);
List<Computer> list = joined.collect(toList());
或者,
Stream<Computer> joined = Stream.concat(list1.stream(), list2.stream());
不确定相对于 assylias 的回答是否有任何优势或劣势。这样可能更容易理解。不过,这不使用任何 lambda。我怀疑 OP 也可能意味着 "or streams APIs"。