使用传统的方式,遍历集合,对集合中的数据进行过滤和使用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消费接口 }

浙公网安备 33010602011771号