Java Arrays.stream()
方法
原文:https://www.studytonight.com/java-util/java-arrays-stream-method
在本教程中,我们将在 Java 中探讨Arrays
类的stream()
方法。此方法从数组中返回指定数据类型的流。它支持各种数据类型,如 double、int、long 和泛型类。让我们看看这个方法的语法和例子。
句法
static datatypeStream stream(datatype[] array)
stream()
方法重载方法列表
此表包含stream()
方法的所有重载变体。
| 方法 | 描述 |
| 静态双流流(双[]数组) | 此方法返回一个以指定数组为源的顺序双流。 |
| 静态双流流(双[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围为源的顺序双流。 |
| 静态 IntStream 流(int[]数组) | 此方法返回一个以指定数组为源的顺序输入流。 |
| 静态 IntStream 流(int[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围作为其源的顺序 IntStream。 |
| 静态 LongStream 流(长[]数组) | 此方法返回一个以指定数组为源的顺序长流。 |
| 静态长流(长[]数组,int startInclusive,int endExclusive) | 此方法返回一个以指定数组的指定范围为源的顺序长流。 |
| 静态
stream()方法示例
在下面的例子中,我们使用stream()
方法将数组arr
转换为字符串流。获得一串字符串后,我们使用forEach
方法打印它。
import java.util.Arrays;
import java.util.stream.Stream;
class StudyTonight{
public static void main(String args[])
{
String[] array = { "java", "cpp", "c", "python" };
Stream<String> myStream = Arrays.stream(array);
myStream.forEach(str -> System.out.print(str + " "));
}
}
java cpp c python
将int
数组转换为流的示例
在下面的例子中,我们使用stream()
方法将 int 数组转换成流,为了存储该流,我们有一个特殊的类,即 IntStream,它负责存储整数流。最后,我们在 forEach 方法帮助下打印转换后的 int 数组流。
import java.util.Arrays;
import java.util.stream.IntStream;
class StudyTonight{
public static void main(String args[])
{
int[] array = {12, 41, 18, 4, 5, 31};
IntStream myStream = Arrays.stream(array);
myStream.forEach(str -> System.out.print(str + " "));
}
}
12 41 18 4 5 31
带数组范围的stream()
示例
上面给出的两个例子是相似的,因为它们只是将一个给定的数组转换成一个给定数据类型的流。如果我们想将特定的元素转换成流呢?为此,我们给出了一种特殊的重载方法,通过传递startInclusive
和endExclusive
变量来定义数组的范围,只有来自这个特定范围的元素才会被转换为流。
import java.util.Arrays;
import java.util.stream.Stream;
class StudyTonight{
public static void main(String args[])
{
String[] array = {"html", "css", "javascript", "java", "cpp", "c", "python" };
Stream<String> myStream = Arrays.stream(array,3,5);
myStream.forEach(str -> System.out.print(str + " "));
}
}
java cpp
所有重载stream()
方法示例
在下面给出的例子中,为了更好地理解stream()
我们一起提到了所有的重载方法。在这个例子中,所有的方法都在有范围和没有范围的情况下被调用
import java.util.Arrays;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import java.util.stream.Stream;
class StudyTonight{
public static void main(String args[])
{
//Example: static DoubleStream stream(double[] array)
double array1[] = {2.2, 3.3, 4.4, 5.5, 6.6};
DoubleStream doubleStream = Arrays.stream(array1);
doubleStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example: static DoubleStream stream(double[] array, int startInclusive, int endExclusive)
doubleStream = Arrays.stream(array1, 1, 3);
doubleStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example: static IntStream stream(int[] array)
int array2[] = {4, 12, 7, 8, 5, 1, 3, 21, 62};
IntStream intStream = Arrays.stream(array2);
intStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example: static IntStream stream(int[] array, int startInclusive, int endExclusive)
intStream = Arrays.stream(array2,3,7);
intStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example: static LongStream stream(long[] array)
long array3[]= {10001, 10002, 10003, 10004, 10005, 10006};
LongStream longStream =Arrays.stream(array3);
longStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example:static LongStream stream(long[] array, int startInclusive, int endExclusive)
longStream =Arrays.stream(array3, 2, 5);
longStream.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example: static <T> Stream<T> stream(T[] array)
String[] array4 = {"Welcome", "to", "study", "tonight"};
Stream<String> streamString = Arrays.stream(array4);
streamString.forEach(val->System.out.print(val+" "));
System.out.print("\n");
//Example:static <T> Stream<T> stream(T[] array, int startInclusive, int endExclusive)
streamString = Arrays.stream(array4, 0, 2);
streamString.forEach(val->System.out.print(val+" "));
System.out.print("\n");
}
}
2.2 3.3 4.4 5.5 6.6 3.3 4.4 4 12 7 8 5 1 3 21 62 8 5 1 3 10001 10002 10003 10004 10005 10006 10003 10004 10005 欢迎今晚来学习 欢迎来到
结论:
在本教程中,我们学习了如何使用strem()
方法。此方法返回指定数据类型的顺序流。我们还得到了一个特殊的重载方法,我们通过startInclusive
和endExclusive
变量来定义数组的范围,只有来自这个特定范围的元素才会被转换成流。