别考虑太多,直接去做就好!管它成败!
lamdba实际应用中,常针对集合进行操作,代表未来的趋势,慢慢的会替代所有的for循环操作。
它的优点:代码简介、容易并行计算、递归算法快。
缺点:不能debug、强制类型转换支持不好。
1、条件过滤集合
@Test
public void testLamdba(){
List<String> aList = Arrays.asList("aa", "bb", "cc", "dd", "ee");
/**
* aList根据条件 剔除元素
* 旧方式,迭代器遍历aList
* 新方式,流式语法
* 常用于基本数据类型集合
* stream()转换为文件流
* filter 过滤操作返回值为boolean
* collect转换对象操作
*/
List<String> bList = aList.stream().filter(str -> !str.equals("aa")).collect(Collectors.toList());
System.out.println("过滤前集合:"+aList);
System.out.println("过滤后集合:"+bList);
/**
* 复杂操作过滤或转换集合操作
* 常用于对象集合操作。
* map 操作流,返回集合元素对象,定义局部变量str,函数体针对str做操作。
*/
aList.add(null);
List<String> cList