0
点赞
收藏
分享

微信扫一扫

002.Stream流的创建方式(基于数组和集合最常用)

悄然丝语 2023-01-16 阅读 167

package com.imooc.stream;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.IntStream;
import java.util.stream.Stream;

/**
* Stream流的创建方式
*/
public class StreamGenerator
{
//1.基于数组创建
@Test
public void generator1()
{
String[] array = {"Lily", "Andy", "Jackson", "Smith"};
Stream<String> stream = Stream.of(array);
stream.forEach(s -> System.out.println(s));
}

//2.基于集合
@Test
public void generator2()
{
List<String> list = new ArrayList<>();
list.add("Lily");
list.add("Andy");
list.add("Jackson");
list.add("Smith");
Stream<String> stream = list.stream();
stream.forEach(s -> System.out.println(s));
}

//3.利用generate创建无线长度流
@Test
public void generator3()
{
Stream<Integer> stream = Stream.generate(() -> new Random().nextInt(10000));
stream.limit(5).forEach(i -> System.out.println(i));//limit的作用时限制创建流的最大长度
}

//4.基于迭代器创建流
@Test
public void generator4()
{
Stream<Integer> stream = Stream.iterate(1, n -> n + 1);
stream.limit(6).forEach(i -> System.out.println(i));
}

//5.基于字符创建流
@Test
public void generator5()
{
String str = "Aasdfghjkl";
IntStream stream = str.chars();
stream.forEach(c -> System.out.println((char) c));
// stream.forEach(c -> System.out.println(c));

}
}

 



举报

相关推荐

0 条评论