![在这里插入图片描述](https://img-blog.csdnimg.cn/2021020119460472.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1haUV9TVFVE,size_16,color_FFFFFF,t_70)
package stream01;
import java.util.ArrayList;
import java.util.stream.Stream;
public class stream01 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("林青霞");
list.add("张三");
list.add("李四");
list.add("张明明");
list.add("孙悟空");
list.add("张无忌");
ArrayList<String> zhangList = new ArrayList<String>();
for(String s : list){
if(s.startsWith("张")){
zhangList.add(s);
}
}
ArrayList<String> threeList = new ArrayList<String>();
for(String s : zhangList){
if(s.length() == 3){
threeList.add(s);
}
}
for(String s : threeList){
System.out.println(s);
}
System.out.println("============");
list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(s -> System.out.println(s));
list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);
list.stream().limit(3).forEach(System.out::println);
list.stream().skip(3).forEach(System.out::println);
list.stream().skip(2).limit(2).forEach(System.out::println);
Stream<String> s1 = list.stream().limit(4);
Stream<String> s2 = list.stream().skip(2);
Stream.concat(s1,s2).forEach(System.out::println);
Stream.concat(s1,s2).distinct().forEach(System.out::println);
list.stream().sorted().forEach(System.out::println);
list.stream().sorted((s11,s22)->s11.length()-s22.length()).forEach(System.out::println);
list.stream().sorted((s3,s4)->{
int num = s3.length()-s4.length();
int num2 = num==0?s3.compareTo(s4):num;
return num2;
}).forEach(System.out::println);
}
}
- Collection 体系的集合可以使用默认的stream()生成流
- Map体系的集合间接生成流
- 数组可以通过Stream接口的静态方法of(T…values)生成流
package stream01;
import java.util.*;
import java.util.stream.Stream;
public class stream02 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
Stream<String> listStream = list.stream();
Set<String> set = new HashSet<String>();
Stream<String> setStream = set.stream();
Map<String,Integer> map = new HashMap<String, Integer>();
Stream<String> keyStream = map.keySet().stream();
Stream<Integer> valueStream = map.values().stream();
Stream<Map.Entry<String,Integer>> entryStream = map.entrySet().stream();
String[] strArray = {"hello","world","java"};
Stream<String> strArrayStream = Stream.of(strArray);
Stream<String> strArrayStream2 = Stream.of("hello","world","java");
Stream<Integer> integerStream = Stream.of(10,20,30);
}
}