Files
javaSE-0113/javaSE-day07/src/com/inmind/stream03/StreamDemo17.java

58 lines
2.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.inmind.stream03;
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 StreamDemo17 {
public static void main(String[] args) {
//1.单列集合获取流
//list集合:ArrayList LinkedList
List<String> lists = new ArrayList<>();
lists.add("张无忌");
lists.add("周芷若");
lists.add("赵敏");
lists.add("张三丰");
Stream<String> stream = lists.stream();//多态
System.out.println(stream);
//set集合:HashSet LinkedHashSet TreeSet
Set<String> sets = new HashSet<>();
sets.add("张无忌");
sets.add("周芷若");
sets.add("赵敏");
sets.add("张三丰");
Stream<String> stream1 = sets.stream();
System.out.println(stream1);
//2.双列集合获取流
//Map双列集合没有定义stream方法只能通过转为单列集合间接获取流
//间接获取流1.所有的键的集合keySet() 2.所有的值的集合values() 3.所有的键值对对象的集合
//2.1 所有的键的集合keySet()
HashMap<String, String> map = new HashMap<>();
map.put("刘备", "孙尚香");
map.put("吕布", "貂蝉");
Set<String> set = map.keySet();
Stream<String> stream2 = set.stream();
//2.2 所有的值的集合values()
Collection<String> values = map.values();
Stream<String> stream3 = values.stream();
//2.3 所有的键值对对象的集合
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> stream4 = entries.stream();
//3.Stream接口的of方法
Stream<Integer> stream5 = Stream.of(1, 2, 3, 4);
}
}