我有以下代码:
List<String> list= Arrays.asList("a","b","c");
list.stream()
.map(x->{
//if(isLast()) return "last";
return x;
})
.forEach(System.out::println);
我想把列表中的最后一项改为“last”,这样程序就会返回类似于以下内容:
a
b
last
注意: 我知道不使用流也可以很容易地完成这个任务,但我想知道是否可以使用流来实现。
注意2: 我提供了一个简单的例子,以便更容易理解流的概念。
Collection.stream
文档说它返回一个顺序流。这个流可能无序的唯一方式是使用的List
实现重写了stream
或spliterator
方法。 - SamStream.unordered
来告诉流,如果需要,顺序可以被打破。但是再次强调,只有在你是流的消费者时,这可能会成为一个问题。如果你是生产者,你很清楚它的顺序。 - Dici