Home >Java >javaTutorial >How Can I Efficiently Convert a List to an int[] in Java?
Converting List
Java programmers often encounter the need to convert a List
1. Using mapToInt()
Streams provide the mapToInt() method, which allows you to convert each element of a stream to a primitive int value. To convert a List
import java.util.List; class ListToIntArrayExample { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); // Convert the list to an int[] using mapToInt() int[] intArray = list.stream() .mapToInt(Integer::intValue) .toArray(); // Print the converted int[] for (int i : intArray) { System.out.println(i); } } }
In this example, we use the stream() method on the list to create a stream of integers. We then apply the mapToInt() method with a lambda expression that simply returns the integer value of each element. Finally, we use toArray() to convert the stream back to an int[].
2. Using Unboxing
Since the compiler knows that the result of the lambda in mapToInt() must be of type int, we can simplify the lambda by omitting the explicit cast to int:
... int[] intArray = list.stream() .mapToInt(i -> i) .toArray(); ...
3. Inferring the Generic Type
Since the compiler can infer the generic type of the stream, we can omit the Integer type in the lambda:
... int[] intArray = list.stream() .mapToInt(i -> i) .toArray(); ...
These methods provide efficient and straightforward ways to convert a List
The above is the detailed content of How Can I Efficiently Convert a List to an int[] in Java?. For more information, please follow other related articles on the PHP Chinese website!