我在一个列表中有许多输入表,每个输入表都有一个标题行,我想忽略它。
最小的例子:
List<String> a = Arrays.asList("header", "v1", "v2", "v3");
List<String> b = Arrays.asList("header", "a1", "a2");
List<String> c = Arrays.asList("header", "b1", "b2", "b3", "b4");
List<List<String>> data = Arrays.asList(a, b, c);
List<String> result = data.stream()
.map(t -> t.subList(1, t.size()))
.flatMap(List::stream)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
有没有一种“更好”的方法来跳过标题行然后map在每个表上使用?
注意:我使用的是 Java 8 并且无法迁移到更新的 JDK
使用skip():
List<String> result = data.stream()
.flatMap(t -> t.stream().skip(1))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)