首先我们先来认识下一个的3,接口的意思,流是什么?
流是javaAPI中的新的成员,它可以让你用声明式的方式处理集合,简单点说,可以看成遍历数据的一个高级点的迭代器,也可以看做一个工厂,数据处理的工厂,流还天然的支持并行操作;也就不用去写复杂的多线程的代码,下面我先来看下stream的3,接口定义
public interface Stream extends BaseStream> {
Stream filter(Predicate super T> predicate);
Stream 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);
Stream 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 distinct();
Stream sorted();
Stream sorted(Comparator super T> comparator);
Stream peek(Consumer super T> action);
Stream limit(long maxSize);
Stream skip(long n);
void forEach(Consumer super T> action);
void forEachOrdered(Consumer super T> action);
Object[] toArray();
A[] toArray(IntFunction generator);
T reduce(T identity, BinaryOperator accumulator);
Optional reduce(BinaryOperator accumulator);
U reduce(U identity, BiFunction accumulator, BinaryOperator combiner);
R collect(Supplier supplier, BiConsumer accumulator, BiConsumer combiner);
R collect(Collector super T, A, R> collector);
Optional min(Comparator super T> comparator);
Optional 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 findFirst();
Optional findAny();
public static Builder builder() {
return new Streams.StreamBuilderImpl<>();
}
public static Stream empty() {
return StreamSupport.stream(Spliterators. emptySpliterator(), false);
}
public static Stream of(T t) {
return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
}
@SafeVarargs
@SuppressWarnings('varargs') // Creating a stream from an array is safe
public static Stream of(T... values) {
return Arrays.stream(values);
}
public static Stream iterate(final T seed, final UnaryOperator f) {
Objects.requireNonNull(f);
final Iterator iterator = new Iterator() {
@SuppressWarnings('unchecked')
T t = (T) Streams.NONE;
@Override
public boolean hasNext() {
return true;
}
@Override
public T next() {
return t = (t == Streams.NONE) ? seed : f.apply(t);
}
};
return StreamSupport.stream(
Spliterators.spliteratorUnknownSize(iterator, Spliterator.ORDERED | Spliterator.IMMUTABLE), false);
}
public static Stream generate(Supplier s) {
Objects.requireNonNull(s);
return StreamSupport.stream(new StreamSpliterators.InfiniteSupplyingSpliterator.OfRef<>(Long.MAX_VALUE, s),
false);
}
public static Stream concat(Stream extends T> a, Stream extends T> b) {
Objects.requireNonNull(a);
Objects.requireNonNull(b);
@SuppressWarnings('unchecked')
Spliterator split = new Streams.ConcatSpliterator.OfRef<>((Spliterator) a.spliterator(),
(Spliterator) b.spliterator());
Stream stream = StreamSupport.stream(split, a.isParallel() || b.isParallel());
return stream.onClose(Streams.composedClose(a, b));
}
public interface Builder extends Consumer {
@Override
void accept(T t);
default Builder add(T t) {
accept(t);
return this;
}
Stream build();
}
}
通过3,接口定义,可以看到,抽象方法,有30多个,里面还有一些其他的3,接口;后续,我会慢慢给大家介绍,每个抽象方法的作用,以及用法
lambda表达式
《java8Lambda表达式简介》
《java8lambda表达式,方法的引用以及构造器的引用》
函数式3,接口
《java8函数式3,接口简介》
《JAVA8Function3,接口以及同类型的特化的3,接口》
《JAVA8Consumer3,接口》
《JAVA8Supplier3,接口》
《JAVA8BiConsumer3,接口》
stream3,接口操作
《java8Stream3,接口简介》
《java8Stream-创建流的几种方式》
《JAVA8stream3,接口中间操作和终端操作》
《JAVA8Stream3,接口,map操作,filter操作,flatMap操作》
《java8stream3,接口终端操作forEachOrdered和forEach》
《java8stream3,接口终端操作toArray操作》
《java8stream3,接口终端操作min,max,findFirst,findAny操作》
《java8stream3,接口终端操作count,anyMatch,allMatch,noneMatch》
《java8srteam3,接口终端操作reduce操作》
《java8stream3,接口终端操作collect操作》
其他部分
《java8Optional静态类简介,以及用法》
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点
股票量化投资接口2022-05-10
富时中国A50指数期货在上一股票日夜盘收跌0.1%的基础上低开,现跌0.6%。国内商品期货早盘开盘普跌,郑醇、焦煤跌超4%,铁矿石、焦炭等跌超3%,螺纹、热卷等跌超2%,塑料、豆粕等跌超1%,郑棉、沪镍等小幅下跌;原油涨超1%,SS、LU等小幅上涨。量化策略销售2022-04-30
永远的3000点!我太了解中国股票了!我告诉大家了中国股票不暴跌是没有大机会的!这句话等你明白了那么你就毕业了量化交易回测接口2022-04-30
确实如此,海控是锻炼心智的好股票,收益随缘了。凡是持有海控一年以上的,再经历其它股票的颠簸都是小case啦!