437使用传统的方式遍历集合对集合中的数据进行过滤和438使用Stream流的方式遍历集合,对集合中的数据进行过滤

使用传统的方式,遍历集合,对集合中的数据进行过滤

 
/*
    使用传统的方式,遍历集合,对集合中的数据进行过滤
 */
public class Demo01List {
    public static void main(String[] args) {
        //创建一个List集合,存储姓名
        List<String> list = new ArrayList<>();
        list.add("乔小敏");
        list.add("叶蓝儿");
        list.add("小绿");
        list.add("阿花");
        list.add("小狐狸");

        //对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.println(s);
        }
    }
 

 

使用Stream流的方式,遍历集合,对集合中的数据进行过滤

 
/*
使用Stream流的方式,遍历集合,对集合中的数据进行过滤
Stream流是JDK1.8之后出现的,他关注的是做什么而不是怎么做
 */
public class Demo02Stream {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("乔小敏");
        list.add("叶蓝儿");
        list.add("小绿");
        list.add("阿花");
        list.add("小狐狸");
 
        //对list集合进行过滤 只要以小开头的存储到一个集合中
        //对list01进行过滤,只要姓名长度为3的人,存储到一个集合中
        //遍历list02集合
        list.stream().filter(name->name.startsWith("")).filter(name->name.length()==3).forEach(name-> System.out.println(name));
  //两次过滤一次输出   filter传入的是predicate  foreach传入的是consumer消费接口
    }
 
posted @ 2022-07-21 09:10  ja不会va  阅读(37)  评论(0)    收藏  举报