线性循环只能过滤一次,如果要再次循环需要用另一个循环重新开始。使用Lambda衍生的Stream流的方式,可以更简单的遍历集合。
-Stream是一个来自数据源的元素队列
-元素是特定类型的对象,形成一个队列。java中的Stream并不会存储元素,而是按需计算
-数据源 流的来源,可以是集合,数组等
-Stream流是一个集合元素的函数模型,并不是集合,也不是数据结构,其本身并不存储任何元素或地址值
import java.util.ArrayList;
import java.util.List;
public class Stream {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("张无忌");
list.add("张三");
list.add("张三丰");
list.add("周芷若");
list.add("赵敏");
list.stream()
.filter(name->name.startsWith("张"))
.filter(name->name.length()==3)
.forEach(name