java使用lambda表达式对List集合进行操作技巧(JDK1.8)

时间:2022-09-15 07:38:58

具体代码如下所示:

java" id="highlighter_507075">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.arraylist;
import java.util.list;
import java.util.function.predicate;
import java.util.stream.collectors;
public class lambdastudy
{
  public static void main(string[] args) {
    //初始化list集合
    list<string> list = new arraylist<string>();
    list.add("测试数据1");
    list.add("测试数据2");
    list.add("测试数据3");
    list.add("测试数据12");
    //使用λ表达式遍历集合
    list.foreach(s -> system.out.println(s));
    //结合predicate使用和过滤条件筛选元素
    predicate<string> contain1 = n -> n.contains("1");
    predicate<string> contain2 = n -> n.contains("2");
    //根据条件遍历集合
    list.stream().filter(contain1).foreach(n -> system.out.println(n));
    list.stream().filter(s -> contain1.test(s)).foreach(s -> system.out.println(s));
    list.stream().filter(contain1.and(contain2)).foreach(n -> system.out.println(n));
    list.stream().filter(contain1.or(contain2)).foreach(n -> system.out.println(n));
    //将过滤后的元素重新放到一个集合中
    list<string> newlist = list.stream().filter(contain1.and(contain2)).collect(collectors.tolist());
    newlist.foreach(s -> system.out.println(s));
  }
}

总结

以上所述是小编给大家介绍的java使用lambda表达式对list集合进行操作技巧(jdk1.8),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/java_faep/article/details/54629101