To convert a Java 8 Stream to an Array, we can make use of the toArray() method on the Stream object.
Let's take a look at it with a few examples.
Example 1:package org.code2care.java.examples;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Java8StreamToArrayExample {
public static void main(String[] args) {
List<Integer> numbersList = new ArrayList<>();
numbersList.add(10);
numbersList.add(20);
numbersList.add(30);
numbersList.add(40);
numbersList.add(50);
int[] intArray = numbersList.stream()
.mapToInt(Integer::intValue)
.toArray();
System.out.println(Arrays.toString(intArray));
}
}
Example 2:
package org.code2care.java.examples;
public class Employee {
private String empName;
private int empInt;
public Employee(String empName, int empInt) {
this.empName = empName;
this.empInt = empInt;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getEmpInt() {
return empInt;
}
public void setEmpInt(int empInt) {
this.empInt = empInt;
}
@Override
public String toString() {
return "Employee{" +
"empName='" + empName + '\'' +
", empInt=" + empInt +
'}';
}
}
package org.code2care.java.examples;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class StreamToArrayExample2 {
public static void main(String[] args) {
List<Employee> employeeList = Arrays.asList(
new Employee("Mike", 101),
new Employee("Sam", 202),
new Employee("Andrew", 303)
);
Stream<Employee> stream = employeeList.stream();
Employee[] array = stream.toArray(Employee[]::new);
System.out.println(Arrays.toString(array));
}
}
Output:
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!