Home > Java > javaTutorial > How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

Susan Sarandon
Release: 2024-12-11 16:44:12
Original
1028 people have browsed it

How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?

Converting ArrayList of Integers to Primitive int Array

In Java, there are multiple approaches to convert an ArrayList containing Integer objects to a primitive int[] array.

One method, as attempted in the code snippet provided, is to use the toArray() method. However, this will throw a compile-time error because of incompatible array types. To resolve this, specify the type of array to be returned, as shown below:

int[] n = (int[])x.toArray(new int[x.size()]);
Copy after login

An alternative approach, particularly useful with Java 8, is to leverage the Stream API:

int[] arr = list.stream().mapToInt(i -> i).toArray();
Copy after login

This method converts each element in the list to its corresponding int value, yielding the desired array.

You can also use the intValue method to explicitly convert each Integer object:

int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
Copy after login

To handle potential null references, add a filter to the stream pipeline:

int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();
Copy after login

With these techniques, you can efficiently convert an ArrayList of Integers to a primitive int array in Java.

The above is the detailed content of How to Efficiently Convert an ArrayList of Integers to a Primitive int Array in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template