俩的定义  为什么有 会产生哪些作用  之前是怎么做的

 

有哪些流

  并行流 parallelStream()   ?? 执行方式    

  串行流 stream()  单的       ?? 执行方式

--------------------------------------------------------------------------------------------------------------------------------------------

 

怎样获得流   ????  继承了   Collection<E>接口的   集合框架里面的都可以直接使用       流为什么需要单一特征       ?????  还没完

Java 常见数据结构 没有继承 ?? 如何使用呢  

map的key value 都是 集合里面的东西 所以可以变着法的用

可以将数组转成集合 所以 数组也可以用

 可以先转成集合 在用 

 例 : Stream<String> stream =new ArrayList<String>().stream();

入参方式

 

流有哪些函数  作用

静态函数

static<T> Builder<T> builder()
static<T> Stream<T> empty()
static<T> Stream<T> of(T t)
static<T> Stream<T> of(T... values)
static<T> Stream<T> iterate(final T seed, final UnaryOperator<T> f)
public static<T> Stream<T> generate(Supplier<T> s)
public static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)


普通函数

Stream<T> filter(Predicate<? super T> predicate);
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
IntStream mapToInt(ToIntFunction<? super T> mapper);
LongStream mapToLong(ToLongFunction<? super T> mapper);
DoubleStream mapToDouble(ToDoubleFunction<? super T> mapper);
<R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);
IntStream flatMapToInt(Function<? super T, ? extends IntStream> mapper);
LongStream flatMapToLong(Function<? super T, ? extends LongStream> mapper);
DoubleStream flatMapToDouble(Function<? super T, ? extends DoubleStream> mapper);
Stream<T> distinct();
Stream<T> sorted();
Stream<T> sorted(Comparator<? super T> comparator);
Stream<T> peek(Consumer<? super T> action);
Stream<T> limit(long maxSize);
Stream<T> skip(long n);
void forEach(Consumer<? super T> action);
void forEachOrdered(Consumer<? super T> action);
Object[] toArray();
<A> A[] toArray(IntFunction<A[]> generator);
T reduce(T identity, BinaryOperator<T> accumulator);
Optional<T> reduce(BinaryOperator<T> accumulator);
<U> U reduce(U identity,
BiFunction<U, ? super T, U> accumulator,
BinaryOperator<U> combiner);
<R> R collect(Supplier<R> supplier,
BiConsumer<R, ? super T> accumulator,
BiConsumer<R, R> combiner);
<R, A> R collect(Collector<? super T, A, R> collector);
Optional<T> min(Comparator<? super T> comparator);
Optional<T> max(Comparator<? super T> comparator);
long count();
boolean anyMatch(Predicate<? super T> predicate);
boolean allMatch(Predicate<? super T> predicate);
boolean noneMatch(Predicate<? super T> predicate);
Optional<T> findFirst();
Optional<T> findAny();


内部类

 


--------------------------------------------------------------------------------------------------------------------------------------------

 

流有哪些使用方式 有哪些 函数      函数名  作用  流的使用方式  之前的使用方式  相关的类

  中间操作     含义: 我理解为返回当前this的(Stream)       未掉用终止操作前都不会执行???

      有状态 : 我理解为 和 ?????

      无状态 : 我理解为 和 产生流的数据无关每次都会返回一个全新的数据   ?? 待验证

  终止操作     含义: 我理解为 返回 非Stream 的 其他类型的数据

      短路 : 找到就退出 

      非短路 :循环完退出

 

--------------------------------------------------------------------------------------------------------------------------------------------