📜  在 java 8 中列出到 int 数组 - Java (1)

📅  最后修改于: 2023-12-03 14:50:56.464000             🧑  作者: Mango

在 Java 8 中列出到 int 数组

在Java 8中,有多种方法可以将数据列为int数组。以下是几种方法:

方法一:使用Stream API

使用Stream API可以将任何类型的数据列为int数组。例如,假设您有一个字符串列表,您可以使用以下代码将其列为int数组:

List<String> stringList = Arrays.asList("1", "2", "3", "4", "5");
int[] intArray = stringList.stream().mapToInt(Integer::parseInt).toArray();

在这个例子中,将每个字符串转换为整数后,使用toArray()方法将它们收集到一个int数组中。

方法二:使用Arrays工具类

Java数组类中的Arrays工具类提供了几种方法来将不同类型的数据列为int数组。

例如,如果您有一个字符串数组,您可以使用以下方法将其列为int数组:

String[] stringArray = {"1", "2", "3", "4", "5"};
int[] intArray = Arrays.stream(stringArray).mapToInt(Integer::parseInt).toArray();
方法三:手动迭代并转换数据

如果您希望在不使用Stream API或Arrays类的情况下将数据列为int数组,您可以手动迭代数据并将它们转换为int。

例如,如果您有一个double数组,您可以使用以下代码将其列为int数组:

double[] doubleArray = {1.0, 2.0, 3.0, 4.0, 5.0};
int[] intArray = new int[doubleArray.length];
for (int i = 0; i < doubleArray.length; i++) {
    intArray[i] = (int) doubleArray[i];
}

在这个例子中,通过使用一个循环来迭代数组中的每个double值,并将其转换为int。

方法四:使用Java 8中的parallelSetAll方法

Java 8中的Arrays类引入了一种新的方法parallelSetAll,可以使用它将数组的元素设置为指定的值或函数。例如,可以使用以下代码将int数组填充为1:

int[] intArray = new int[5];
Arrays.parallelSetAll(intArray, index -> 1);

在这个例子中,指定了第二个参数为一个lambda表达式,该表达式会返回一个值,该值被用于设置数组元素的值。

无论使用哪种方法将数据列为int数组,您都可以使用Java 8提供的Stream API来进一步处理和操作该数组。例如,以下代码将过滤掉小于3的元素,并将其平均值打印到控制台上:

int[] intArray = new int[]{1, 2, 3, 4, 5};
double average = Arrays.stream(intArray).filter(i -> i > 3).average().orElse(0.0);
System.out.println("Average: " + average);