正如标题所说,我想使用Java 8的流& amp; lambda表达式,以便从列表中删除所有元素,但第一个元素。因此,这会将原始列表更改为几乎是单例。
通常我会看到这样的lambda表达式(假设list
为ArrayList<Sting>
):
list.removeIf(string -> string.endsWith("suffix"));
因此条件是元素,而不是元素的索引。 Java 8的API是否可以在索引上编写谓词?像这样:
list.removeIf(index -> index > 0);
当我尝试这样的事情时:
list.stream().limit(1);
问题是,它不会改变原始列表。所以我必须将流上的元素收集到一个新列表中。