关于Stream流的构造问题

1.
int[] arr = {2, 2, 5, 1, 5, 5};
Stream<int[]> stream = Stream.of(arr);
2.
Integer[] arr = {1,2,3,4,5};
Stream stream = Stream.of(arr);

3.
List list = Arrays.asList(1,2,3,4,5);l
Stream<List> stream = Stream.of(ist);

4.
Stream stream = list.stream();

2和3按理来说是一样的写法 但是构造的类型1和3却是一样的 就是Steam的<>里面的内容
也就是说传入的都是整个数组或集合为什么会这样

这个其实是泛型,好像可以不写的。

这个是泛型的内容,不是stream的内容,泛型可以自己设置,一般都是传入什么类型返回接受什么类型