比如说,我需要类似这样的东西:
Collection<String> collection = /* ... */;
Stream<Object> stream = /* ... */;
boolean containsAll = stream.map(Object::toString).containsAll(collection);
当然,我可以使用collect()
方法将流的所有元素累加到另一个Collection
中,并调用Collection.containsAll()
,但是如果流太大而且处理其所有元素效率低下怎么办?
Set<String> temp = source.stream().map(Object::toString).collect(toSet()); boolean containsAll = temp.containsAll(collection);
- Ousmane D.