java 8 stream

2016-08-22  本文已影响18人  cammsia
  1. stream 是干什么的
    Stream不是集合元素,他不是数据结构并不保存数据,它是有关算法和计算的,更像一个高版本的iterator。
  2. 数据只能遍历一次,遍历一次就用尽。
  3. 只有三种基本类型的stream,LongStream,IntStream,DoubleStream。基本类型在大数据量情况下比对应装箱类型性能好。
  4. collect收集器的步骤
  1. Collector是一个包含了生产者,添加器,以及合并器在内的接口,Collectors.toList()生成Collector的实现对象
  2. 创建stream

#Collection接口有stream方法

Stream<String> words = Stream.of("gently", 'cammsia", "the")

String [] wordsArray = {"gently", 'cammsia", "the"} 
Stream<String> words = Stream.of(wordsArray)

#generate 方法接受一个无参数函数
Stream<String> echoes = Stream.generate(()->"Echo")
Stream<Double> randoms = Stream.generate(Math::random)

#f(f(f(seed)))
Stream<BigInteger> integers = Stream.iterate(BigInteger.ZERO, n -> n.add(BigInteger.ONE))

Stream<String> words = Pattern.compile("[\\P{L}]+").splitAsStream(content)

#Stream继承了Autoacloseable
try(Stream<String> lines = Files.lines(path)) {
}
上一篇 下一篇

猜你喜欢

热点阅读