最近看项目代码,发现了一个新知识,就是Java8的stream新特性,主要就是为了collect集合的便捷处理。
用一个简单的例子来进行说明一下,希望可以帮到大家。
public static void main(String[] args) {
List<String> a= Arrays.asList("a","b","c","","d");
List<String> b=a.stream()
.filter(v->v!="") //设置过滤规则,这里是过滤掉里面为空的元素
.map(item->item+"1") //设置替换规则,这里是每个元素拼接1
.collect(Collectors.toList()); //转为为list
System.out.println(b);
}
输出结果为
[a1, b1, c1, d1]
Process finished with exit code 0
filter方法主要是进行过滤元素,比如这里就是过滤为空的元素,这个方法后a就变成了(“a”,“b”,“c”,“d”)
然后map方法主要是对剩余元素的规则替换,这里就是对所有元素在后面拼接字符“1”,
然后进行collect方法进行转换为list。最终结果就是[a1, b1, c1, d1]。
也是初次学习,有不对的地方欢迎指正,多谢!