Java 8 lambda:给定一个列表,删除除第一个元素之外的所有元素,而不创建新列表

时间:2015-09-01 14:51:28

标签: java arraylist lambda java-8 java-stream

正如标题所说,我想使用Java 8的流& amp; lambda表达式,以便从列表中删除所有元素,但第一个元素。因此,这会将原始列表更改为几乎是单例。

通常我会看到这样的lambda表达式(假设listArrayList<Sting>):

list.removeIf(string -> string.endsWith("suffix"));

因此条件是元素,而不是元素的索引。 Java 8的API是否可以在索引上编写谓词?像这样:

list.removeIf(index -> index > 0);

当我尝试这样的事情时:

list.stream().limit(1);
问题是,它不会改变原始列表。所以我必须将流上的元素收集到一个新列表中。

0 个答案:

没有答案