获取流
- [Collection].stream()
- Stream.of()
终结方法
返回值类型是void
非终结方法
返回值类型是Stream
数组初始化
List<String> list = new ArrayList<>(){"1一", "1测试", "1测试啥", "1厉害了222", "1张三"};
forEach
list.stream().forEach(System.out::println);
count
list.stream().count();
lilter
list.stream().filter(s -> s.length() == 3).forEach(System.out::println);
limit
list.stream().limit(3).forEach(System.out::println);
skip
list.stream().skip(2).forEach(System.out::println);
map
list.stream().map(s -> (int) (s.charAt(0) - '0')).forEach(System.out::println);
sorted
list.stream().sorted((a, b) -> b.length() - a.length()).forEach(System.out::println);
distinct
list.stream().distinct().forEach(System.out::println);
match
boolean a = list.stream().allMatch(s->s.length()==0);
boolean b = list.stream().anyMatch(s->s.length()==0);
boolean c = list.stream().noneMatch(s->s.length()==0);
find
Optional<String> first = list.stream().findFirst();
Optional<String> any = list.stream().findAny();
max
Optional<String> max = list.stream().max((e, d) -> e.length() - d.length());
min
Optional<String> min = list.stream().min((e, d) -> e.length() - d.length());
reduce
String s = list.stream().reduce("",(x,y) -> x + y);
map reduce
int n = list.stream().map(str -> (int) (str.charAt(0) - '0')).reduce(0, Integer::sum);
map toInt
IntStream intStream = list.stream().mapToInt(str -> (int) (str.charAt(0) - '0'));
concat
Stream.concat(list.stream().limit(3), list.stream()).forEach(System.out::println);
可运行示例
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class SteamTest {
public static void main(String[] args) {
List<String> list = Arrays.asList("1一", "1测试", "1测试啥", "1厉害了222", "1张三");
list.stream().forEach(System.out::println);
list.stream().count();
list.stream().filter(s -> s.length() == 3).forEach(System.out::println);
list.stream().limit(3).forEach(System.out::println);
list.stream().skip(2).forEach(System.out::println);
list.stream().map(s -> (int) (s.charAt(0) - '0')).forEach(System.out::println);
list.stream().sorted((a, b) -> b.length() - a.length()).forEach(System.out::println);
list.stream().distinct().forEach(System.out::println);
boolean a = list.stream().allMatch(s -> s.length() == 0);
boolean b = list.stream().anyMatch(s -> s.length() == 0);
boolean c = list.stream().noneMatch(s -> s.length() == 0);
Optional<String> first = list.stream().findFirst();
Optional<String> any = list.stream().findAny();
Optional<String> max = list.stream().max((e, d) -> e.length() - d.length());
Optional<String> min = list.stream().min((e, d) -> e.length() - d.length());
String s = list.stream().reduce("", (x, y) -> x + y);
int n = list.stream().map(str -> (int) (str.charAt(0) - '0')).reduce(0, Integer::sum);
IntStream intStream = list.stream().mapToInt(str -> (int) (str.charAt(0) - '0'));
Stream.concat(list.stream().limit(3), list.stream()).forEach(System.out::println);
}
}