跳至主要內容

获取方式

Mr.Hope...小于 1 分钟

根据Collection获取

java.util.Collection 接口中加入了default方法 stream,也就是说Collection接口下的所有的实 现都可以通过steam方法来获取Stream流。

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.stream();
    Set<String> set = new HashSet<>();
    set.stream();
    Vector vector = new Vector();
    vector.stream();
}

但是Map接口别没有实现Collection接口,我们可以根据Map获取对应的key value的集合。

public static void main(String[] args) {
    Map<String,Object> map = new HashMap<>();
    Stream<String> stream = map.keySet().stream(); // key
    Stream<Object> stream1 = map.values().stream(); // value
    Stream<Map.Entry<String, Object>> stream2 = map.entrySet().stream(); //entry
}

通过Stream的of方法

提示

普通数据类型数组会转化为数组进行流存储

包装类型会将以原本类型存储

public static void main(String[] args) {
    int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};
    Stream<int[]> arr1 = Stream.of(arr);//转化为了int[]流
    arr1.filter(x->x>2);//报错,x是数组

    Integer[] arr2 = new Integer[]{1,2,3,4,5,6,7,8,9,10};
    Stream<Integer> arr3 = Stream.of(arr2);
    arr3.filter(x->x>2);
}