获取流的两种方式、Stream_中的常用方法_forEach

获取流的两种方式

  获取流的非常简单,有一下这几种方式:

  所有的Colleection集合都可以通过Stream默认方法获取流

  Stream接口中的of可以获取数组对应的流

  参数是一个可变参数,那么我们就可以传递一个数组

案例:

  

public class Changyongfas {
public static void main(String[] args) {
// 把集合转化为流
ArrayList<String> list = new ArrayList<>();
Stream<String> stream = list.stream();

HashSet<String> set = new HashSet<>();
Stream<String> stream1 = set.stream();

HashMap<String, String> map = new HashMap<>();
Set<String> set1 = map.keySet();
Stream<String> stream2 = set1.stream();

// 获取值,存到以一个Collection集合中
Collection<String> values = map.values();
Stream<String> stream3 = values.stream();

// 获取键值对
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> stream4 = entries.stream();
// 数组转为流
Stream<Integer> stream5 = Stream.of(1, 2, 3, 4, 5, 6);

Integer[] arr={1,2,3,4,5,6};
Stream<Integer> arr1 = Stream.of(arr);

}
}

集合可以转化为Stream流,数组也能

Stream_中的常用方法_forEach

流的模式非常丰富,可分为两种

  1,延迟方法:返回值仍然是流的方法

  2,返回值不在是流接口自身的方法(count)(forEach)方法

 forEach:该方法接受一个Consumer接口函数,会将每一个流元素交给函数进行处理

Consumer接口是一个消费型的函数式接口,可以传递Lambda表达式,消费数据

  简单记:

    forEach方法,用来遍历流中的数据

    是一个终结者方法,遍历之后就不能继续调用Stream流的其他方法

  案例:

    


public class ForEach {
public static void main(String[] args) {
Stream<String> aa = Stream.of("aa", "bbb", "ccc");
aa.forEach(System.out::println);
}
}

看运行结果:

  

 

posted @ 2022-07-24 09:11  一位程序袁  阅读(271)  评论(0编辑  收藏  举报