package com.csdn.stream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo01List {public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");//对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中List<String> listA = new ArrayList<>();for (String s : list) {if (s.startsWith("张")) {listA.add(s);}}//对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中List<String> listB = new ArrayList<>();for (String s : listA) {if (s.length()==3) {listB.add(s);}}//遍历listB集合for (String s : listB) {System.out.print(s+"\t");//张无忌 张三丰}}
}
- 使用Stream流的方式,遍历集合,对集合中的数据进行过滤
- Stream流是JDK1.8之后出现的,关注的是做什么,而不是怎么做
package com.csdn.stream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo02Stream {public static void main(String[] args) {List<String> list = new ArrayList<>();Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");//对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中//对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中//遍历listB集合// list.stream().filter(name -> name.startsWith("张"))
// .filter(name -> name.length() == 3)
// .forEach(name -> System.out.println(name));list.stream().filter(name -> name.startsWith("张")).filter(name -> name.length() == 3).forEach(System.out::println);
// 张无忌
// 张三丰}
}