Stream流
下一篇文章Java基础-File类
1、Stream流初体验
- 体验Stream流
- 创建一个集合,存储多个字符串元素
- “张三丰”,“张无忌”,“张翠山”,“王二麻子”,“张良”,“谢广坤”
- 把集合中所有以"张"开头的元素存储到一个新的集合
- 把"张"开头的集合中的长度为3的元素存储到一个新的集合
- 遍历上一步得到的集合
public class MyStream1 { public static void main(String[] args) { //集合的批量添加 ArrayList<String> list1 = new ArrayList<>(List.of("张三丰","张无忌","张翠山","王二麻子","张良","谢广坤")); //list.add() //遍历list1把以张开头的元素添加到list2中。 ArrayList<String> list2 = new ArrayList<>(); for (String s : list1) { if(s.startsWith("张")){ list2.add(s); } } //遍历list2集合,把其中长度为3的元素,再添加到list3中。 ArrayList<String> list3 = new ArrayList<>(); for (String s : list2) { if(s.length() == 3){ list3.add(s); } } for (String s : list3) { System.out.println(s); } System.out.println("======================="); //Stream流 list1.stream().filter(s->s.startsWith("张")) .filter(s->s.length() == 3) .forEach(s-> System.out.println(s)); } }
2、Stream流获取方法
Stream流的获取 单列集合 : 集合对象.stream(); 双列集合 : 不能直接获取,需要间接获取
集合对象.keySet().stream();
集合对象.entrySet().stream(); 数组 :
Arrays.stream(数组名);
同种数据类型的多个数据:
Stream.of(数据1,数据2,数据3......);
public class MyStream2 { public static void main(String[] args) { //单列集合 //method1();//ctrl+alt+m抽取方法快捷键 //双列集合 //method2(); //数组 //method3(); //同种数据类型的多个数据 //method4(); } private static void method4() { Stream.of(1,2,3,4,5,6,7,8).forEach(s-> System.out.println(s)); } private static void method3() { int [] arr = { 1,2,3,4,5}; Arrays.stream(arr).forEach(s-> System.out.println(s)); } private static void method2() { HashMap<String,Integer> hm = new HashMap<>(); hm.put("zhangsan