1.Collection接口的静态方法stream() : 所有的Collection的实现类都可以获取到流
【补充】Map如何获取Stream流,可以通过 key 或者 value 的集合 来获取Stream
2.Stream的静态方法 of() : 可以获取数组的操作流
案例代码中 主要体现了 List、Set 的操作
package com.northcastle.I_stream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.stream.Stream;
public class StreamTest01GetStream {
public static void main(String[] args) {
getStream01();
}
// 1.获取 stream 的第一种方式 : Collection.stream()
public static void getStream01(){
//1.List
ArrayList<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
Stream<String> streamList = list.stream(); // 通过.stream() 方法获取流
streamList.forEach(System.out::println); // 3.方法引用的方式进行遍历打印
System.out.println("==============================");
//2.Set
HashSet<String> set = new HashSet<>();
set.add("aa");
set.add("cc");
Stream<String> streamSet = set.stream(); // 通过.stream() 方法获取流
streamSet.forEach(System.out::println); // 方法引用的方式进行遍历打印
System.out.println("==============================");
}
}
本方法主要是针对 数组获取流的操作
package com.northcastle.I_stream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.stream.Stream;
public class StreamTest01GetStream {
public static void main(String[] args) {
getStream02();
}
//2.获取Stream的第二种方式 : Stream.of() 静态方法
public static void getStream02(){
String[] strs = {"aa","bb","cc"};
Stream<String> stream = Stream.of(strs); // 直接获取到了Stream的对象
stream.forEach(System.out::println);
}
}
思路 : Map中获取 key的set集合、value的集合、entrySet的集合,然后再使用流即可
其实就是使用的Collection.stream()
方法
package com.northcastle.I_stream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.stream.Stream;
public class StreamTest01GetStream {
public static void main(String[] args) {
getStream0101();
}
//【Map获取Stream的方式】
public static void getStream0101(){
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("aa",100);
hashMap.put("bb",200);
hashMap.put("cc",300);
//1.根据key集合获取
Stream<String> streamKey = hashMap.keySet().stream();
streamKey.forEach(System.out::println);
System.out.println("==============================");
//2.根据value集合获取
Stream<Object> streamValues = hashMap.values().stream();
streamValues.forEach(System.out::println);
System.out.println("==============================");
//3.根据 entry 集合获取
Stream<Map.Entry<String, Object>> streamEntry = hashMap.entrySet().stream();
streamEntry.forEach(System.out::println);
System.out.println("==============================");
}
}
Congratulations!
You are one step closer to success!