Stream流API练习

 1 public static void main(String[] args) {
 2         List<String> list = new ArrayList<>();
 3         list.add("张三");
 4         list.add("李四");
 5         list.add("王武");
 6         list.add("王富贵");
 7         list.add("张柳");
 8         list.add("张西瓜");
 9 
10         //  filter 过滤元素
11         list.stream().filter(s -> s.startsWith("张")).forEach(s -> System.out.println(s));
12         //  同上简写  s -> System.out.println(s) = System.out::println
13         list.stream().filter(s -> s.startsWith("张")).forEach(System.out::println);
14 
15         list.stream().filter(s -> s.length() == 3).forEach(s -> System.out.println(s));
16         //  count 统计
17         long count = list.stream().filter(s -> s.length() == 3).count();
18         System.out.println(count);
19 
20         //  limit 获取某元素
21         list.stream().filter(s -> s.startsWith("张")).limit(2).forEach(System.out::println);
22         //  skip 跳过元素
23         list.stream().filter(s -> s.startsWith("张")).skip(2).limit(2).forEach(System.out::println);
24 
25         //  map 加工方法
26         //  给集合元素的前面加上一个: xx的:
27         list.stream().map(s ->"练习的:" + s).forEach(System.out::println);
28 
29         //  加工成学生对象
30         list.stream().map(s -> new Student(s)).forEach(System.out::println);
31         //  同上 简化   s -> new Student(s) = Student::new
32         list.stream().map(Student::new).forEach(System.out::println);
33 
34         //  Stream流 合并 concat , distinct
35         Stream<String> s1 = list.stream().filter(s -> s.startsWith("张"));
36         Stream<String> s2 = Stream.of("java1", "java2");
37         Stream<String> concat = Stream.concat(s1, s2);
38         concat.distinct().forEach(System.out::println);
39     }

 

 

 

posted @ 2024-01-25 16:23  小※兽  阅读(41)  评论(0)    收藏  举报