s-day07- 获取Stream流的两种方式(重点)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.inmind.stream07;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/*
|
||||
获取Stream流的两种方式(重点)
|
||||
Stream流的获取方式:
|
||||
1.单列集合Collection的stream方法,得到单列集合的stream流
|
||||
Collection接口
|
||||
default Stream<E> stream() 返回一个序列 Stream与此集合作为其来源。
|
||||
2.Stream接口的of方法,将多个数据组成一个流
|
||||
Stream接口
|
||||
static <T> Stream<T> of(T... values) 返回其元素是指定值的顺序排序流。
|
||||
*/
|
||||
public class StreamDemo13 {
|
||||
public static void main(String[] args) {
|
||||
//单列集合
|
||||
//list集合
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.add("张三1");
|
||||
list.add("张三2");
|
||||
list.add("张三3");
|
||||
Stream<String> stream1 = list.stream();
|
||||
System.out.println(stream1);
|
||||
|
||||
//set集合
|
||||
HashSet<String> sets = new HashSet<>();
|
||||
sets.add("张三1");
|
||||
sets.add("张三2");
|
||||
sets.add("张三3");
|
||||
Stream<String> stream2 = sets.stream();
|
||||
System.out.println(stream2);
|
||||
//Map双列集合没有定义stream方法,只能通过转为单列集合间接获取流
|
||||
//间接获取流:1.所有的键的集合keySet() 2.所有的值的集合values() 3.所有的键值对对象的集合entrySet()
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("刘备", "孙尚香");
|
||||
//1.所有的键的集合keySet()
|
||||
Set<String> keys = map.keySet();
|
||||
Stream<String> stream3 = keys.stream();
|
||||
//2.所有的值的集合values()
|
||||
Collection<String> values = map.values();
|
||||
Stream<String> stream4 = values.stream();
|
||||
//3.所有的键值对对象的集合entrySet()
|
||||
Set<Map.Entry<String, String>> entries = map.entrySet();
|
||||
Stream<Map.Entry<String, String>> stream5 = entries.stream();
|
||||
|
||||
//数组获取流
|
||||
String[] arr = {"张三1","张三2","张三3"};
|
||||
Stream<String> stream6 = Stream.of(arr);
|
||||
Stream<Integer> stream7 = Stream.of(1, 2, 3, 4, 5);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user