package com.chunzhi.Test02Stream;
import java.util.*;
import java.util.stream.Stream;
/*
java.util.stream.Stream<T>是JDK 8新加入的最常用的流接口。(这并不是一个函数式接口)
获取一个流非常简单,有以下几种常用的方式:
所有的Collection集合都是可以通过stream默认方法获取流
default Stream<E> stream()
Stream接口的静态方法of可以获取数组对应的流
static <T> Stream<T> of (T...values)
参数是一个可变参数,那么我们就可以传递一个数组
*/
public class Test02GetStream {
public static void main(String[] args) {
/* 第一种获取流的方式 */
// 把集合转换为Stream流
List<String> list = new ArrayList<String>();
Stream<String> stream01 = list.stream();
Set<String> set = new HashSet<String>();
Stream<String> stream02 = set.stream();
Map<String, String> map = new HashMap<>();
// 获取键,储存到一个Set集合中
Set<String> keySet = map.keySet();
Stream<String> stream03 = keySet.stream();
// 获取值,储存到一个Collection集合中
Collection<String> values = map.values();
Stream<String> stream04 = values.stream();
// 获取键值对(键与值的映射关系 entrySet)
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> stream05 = entries.stream();
/* 第二种获取流的方式 */
// 把数组转换为Stream流
Stream<Integer> stream06 = Stream.of(1, 2, 3, 4, 5);
// 可变参数可以传递数组
Integer[] arr = {1, 2, 3, 4, 5};
Stream<Integer> stream07 = Stream.of(arr);
String[] arr2 = {"a", "bb", "ccc"};
Stream<String> stream08 = Stream.of(arr2);
}
}