Java Program to Convert Integer List to Integer Array

Converting an integer List to an integer array is a common task in Java programming. There are various ways to achieve this including using Java's built-in methods, third-party libraries and more. This article discusses three different methods to perform this conversion.

Methods to Convert Integer List to Integer Array

  1. Using a simple loop
  2. Using List.toArray() and manual conversion
  3. Using Collectors in Java 8

Method 1: Using a Simple Loop

A straightforward approach is to use a simple loop to iterate over the list and populate an integer array.

Example:

import java.util.Arrays;

import java.util.List;


public class Main {

public static void main(String[] args) {

// Creating an List of integer type

List<Integer> list = Arrays.asList(2, 4, 6, 8, 10);

// Initialize an integer array with the size of the list

int[] intArray = new int[list.size()];

// Use a for loop to populate the array

for (int i = 0; i < list.size(); i++) {

intArray[i] = list.get(i);

}

// Print and display the integer array

System.out.println(Arrays.toString(intArray));

}

}

Output:

[2, 4, 6, 8, 10]

Method 2: Using List.toArray() and Manual Conversion

This method involves converting the List to an Integer array first and then converting it to a primitive int array manually.

Example:

import java.util.Arrays;

import java.util.List;


public class Main {

public static void main(String[] args) {

// Creating an List of integer type

List<Integer> list = Arrays.asList(3, 5, 7, 9, 11);

// Convert List to Integer array

Integer[] integerArray = list.toArray(new Integer[0]);

// Initialize an integer array with the size of the Integer array

int[] intArray = new int[integerArray.length];

// Use a for loop to populate the primitive int array

for (int i = 0; i < integerArray.length; i++) {

intArray[i] = integerArray[i];

}

// Print and display the integer array

System.out.println(Arrays.toString(intArray));

}

}

Output:

[3, 5, 7, 9, 11]

Method 3: Using Collectors in Java 8

The Java 8 introduced the Stream API which provides a convenient way to convert a List to an int array using collectors.

Example:

import java.util.Arrays;

import java.util.List;

import java.util.stream.Collectors;


public class Main {

public static void main(String[] args) {

// Creating an List of integer type

List<Integer> list = Arrays.asList(4, 8, 12, 16, 20);

// Convert List<Integer> to int array using stream and Collectors

int[] intArray = list.stream()

.mapToInt(Integer::intValue)

.toArray();

// Print and display the integer array

System.out.println(Arrays.toString(intArray));

}

}

Output:

[4, 8, 12, 16, 20]

Conclusion

There are multiple ways to convert a List<Integer> to a int[] in Java each with its own benefits and use cases. The choice of method depends on your specific requirements and constraints.

FAQs

Q1. Why would I need to convert a List<Integer> to an int[]?

Converting a list to an array can be useful for performance optimization, compatibility with code or when working with APIs that require array inputs.

Q2. What is the difference between Integer[] and int[]?

The Integer[] is an array of Integer objects whereas int[] is an array of primitive int values.

Q3. Can I convert a list with null values to a primitive array?

No, primitive arrays cannot hold null values. You need to handle or filter out null values before conversion.

Post a Comment

Previous Post Next Post