流API--提取流+组合流

  • 提取子流和组合流
1,limit(n)会返回一个包含n个元素的新流,如果原始流的长度小于n,则会返回原始的流。这个方法可用来裁剪指定长度的流。
2,skip(n)正好相反,它会丢弃掉前面的n个元素。
3,静态方法,concat()方法将2个流连接在一起。注意一点,第一个流的长度不应该是无限的,不然第2个流永远没有机会被添加到第1个流的后面。
4,findFrist()返回非空集合中的第一个值,它通常与filter方法结合使用。
5,如果我们想找到所有匹配的元素,那么可以使用findAny方法。这个方法在对流进行并行执行时十分有效,只要在任何片段中发现了第一个匹配元素,就会结束整个计算。

public static void main(String[] args)
	{
		Stream.generate(Math::random).limit(5).forEach(System.out::println);
		System.out.println("======华丽丽的分割线============");
		Stream.generate(Math::random).limit(5).skip(4).forEach(System.out::println);
		System.out.println("======华丽丽的分割线============");
		Stream.concat(Stream.generate(Math::random).limit(5), Stream.generate(Math::random).limit(5).skip(4)).forEach(System.out::println);


		System.out.println(Stream.of("张飞", "关羽").findFirst().get());
		System.out.println(Stream.of("张飞", "关羽").findAny().get());
	}

原文地址:https://www.cnblogs.com/LinkinPark/p/5232957.html