
Java Stream() is an amazing util class with lots of functionalities. We have published almost ~30+ Java8 Stream related tutorial on Crunchify and this one is on stream().boxed.collect() utility.
We will convert Primitive Array to List in 3 different ways.
- Java8 Stream() way
- Classic Java toString() way
- Class Java Iterator way – using for loop
Before we get started let’s take a look at below utils:
stream()returns a sequential IntStream with the specified array as its source.boxed()returns a Stream consisting of the elements of this stream, each boxed to an Integer.collect()performs a mutable reduction operation on the elements of this stream using a Collector.
Let’s get started.
Step-1
We are going to perform below tasks:
- Create class
PrimitiveArrayToListJava8.java - Create main() method
- Inside main() method, we will add 15 random integers and adds to variable
crunchifyValueint[] array which is primitive array. - Using Java8 Stream() class we will convert that primitive array to List
- Create another public method
crunchifyClassWaytoConvert(int[] crunchifyValue) which we will use to convert primitive array to list using Pre-Java8 (Classic way) using For loop and toString() methods
Same way you could also convert:
- Convert an array of primitive longs into a List of Longs
- How to convert int[] into List<Integer> in Java?
- Convert between primitive array, boxed array, and List
Step-2
Open Eclipse IDE and create class PrimitiveArrayToListJava8.java and put below code.
package crunchify.com.tutorials;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Crunchify.com
* version: 1.2
*
*/
public class PrimitiveArrayToListJava8 {
public static void main(String[] args) {
int randomNumber;
// add random value to integer array
int[] crunchifyValue = new int[15]; // we are adding total 15 primitive values to int[] array.
for (int i = 1; i <= 14; i++) {
randomNumber = (5 + (int) (Math.random() * ((100 - 5))));
crunchifyValue[i] = randomNumber;
}
// Java8 - Stream way to convert Primitive array to List.
// stream() returns a sequential IntStream with the specified array as its source.
// Boxed() returns a Stream consisting of the elements of this stream, each boxed to an Integer.
// collect() performs a mutable reduction operation on the elements of this stream using a Collector.
List<Integer> crunchifyCovertedList = Arrays.stream(crunchifyValue).boxed().collect(Collectors.toList());
System.out.println("Java8 way: Using stream().boxed.collect() : " + crunchifyCovertedList);
// Classic way to convert Primitive array to List
crunchifyClassWaytoConvert(crunchifyValue);
}
public static void crunchifyClassWaytoConvert(int[] crunchifyValue) {
List<Integer> crunchifyIntList = new ArrayList<Integer>();
System.out.println("\nClassic way 1: Print crunchifyIntList Value via toString(): " + Arrays.toString(crunchifyValue));
for (int i : crunchifyValue) {
crunchifyIntList.add(i);
}
// if you want to use Iterator to print value
System.out.println("\nClassic way 2: Print crunchifyIntList Value via Iterator: " + crunchifyIntList);
}
}
Step-3
Run program in Eclipse and checkout below result in Eclipse Console Output.
Java8 way: Using stream().boxed.collect() : [0, 16, 90, 85, 58, 71, 42, 87, 40, 59, 78, 88, 77, 98, 44] Classic way 1: Print crunchifyIntList Value via toString(): [0, 16, 90, 85, 58, 71, 42, 87, 40, 59, 78, 88, 77, 98, 44] Classic way 2: Print crunchifyIntList Value via Iterator: [0, 16, 90, 85, 58, 71, 42, 87, 40, 59, 78, 88, 77, 98, 44]
