Como Converter Lista Inteira para Inteiro Array em Java

Rupam Yadav 12 outubro 2023
  1. Stream().mapToInt() para Converter Lista Inteira para Int. Array em Java
  2. ArrayUtils.toPrimitive()para Converter Lista Inteira para Inteiro Array em Java
  3. Método de Guava para converter a Lista Inteira em Inteiro Array em Java
Como Converter Lista Inteira para Inteiro Array em Java

Neste tutorial, apresentaremos como podemos converter uma List<Integer> para int[]em Java. Podemos ver que ambos são de diferentes tipos de dados que é a ArrayList of Integers e a array of int. O primeiro contém um tipo de dado objeto, ou seja, Integer, e o segundo é um tipo de dado primitivo, ou seja, int.

Stream().mapToInt() para Converter Lista Inteira para Int. Array em Java

O Stream é introduzido no Java 8 com o pacote java.util.stream. Ele pode nos ajudar a obter os resultados desejados porque inclui um método mapToInt() que retorna um IntStream (uma seqüência de valores int primitivos).

Para deixar isso mais claro, vamos vê-lo no exemplo abaixo.

import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(11);
    numList.add(22);
    numList.add(33);
    numList.add(44);
    numList.add(55);

    int[] numArray = numList.stream().mapToInt(i -> i).toArray();

    for (int intValue : numArray) {
      System.out.println(intValue);
    }
  }
}

Resultado:

int primitive: 11
int primitive: 22
int primitive: 33
int primitive: 44
int primitive: 55

Podemos verificar duas vezes o tipo de dados numArray através de depuração. A saída de depuração abaixo mostra que a numList é uma ArrayList, enquanto a numArray é uma int primitiva.

numList = {ArrayList @832} size = 5 numArray = {int[5] @833} intValue = 11

ArrayUtils.toPrimitive()para Converter Lista Inteira para Inteiro Array em Java

Temos outra forma de fundir uma List<Integer> para um tipo int[]. Vamos utilizar o Apache Common Lang, que é um array de métodos de ajuda.

ArrayUtils.toPrimitive() permite-nos passar em nossa numList que nos dá o resultado em int[] datatype.

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(110);
    numList.add(220);
    numList.add(330);
    numList.add(440);
    numList.add(550);

    int[] intArray = ArrayUtils.toPrimitive(numList.toArray(new Integer[numList.size()]));
    for (int intValue : intArray) {
      System.out.println("int primitive: " + intValue);
    }
  }
}

Resultado:

int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550

Método de Guava para converter a Lista Inteira em Inteiro Array em Java

A Guava é uma biblioteca que pode nos ajudar a converter nossa lista de Integers em valores primitivos de int.

Ints.toArray(ListOfIntegers) é uma parte do pacote com.google.common.primitives.Ints que toma nossa lista como argumento e nos fornece o array de ints.

import com.google.common.primitives.Ints;
import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<Integer> numList = new ArrayList<Integer>();
    numList.add(110);
    numList.add(220);
    numList.add(330);
    numList.add(440);
    numList.add(550);

    int[] numArray = Ints.toArray(numList);
    for (int intValue : numArray) {
      System.out.println("int primitive: " + intValue);
    }
  }
}

Resultado:

int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - Java Int

Artigo relacionado - Java List

Artigo relacionado - Java Array