Converti lista di numeri interi in array Int in Java

Rupam Yadav 12 ottobre 2023
  1. Stream().mapToInt() per convertire l’lista di numeri interi in Int Array in Java
  2. ArrayUtils.toPrimitive() per convertire l’lista di numeri interi in Int Array in Java
  3. Il metodo di Guava per convertire l’lista di numeri interi in Array Int in Java
Converti lista di numeri interi in array Int in Java

In questo tutorial, introdurremo come convertire un List<Integer> in int[] in Java. Possiamo vedere che entrambi sono di diversi tipi di dati che è ArrayList of Integers e l’array di int. Il primo contiene un tipo di dati oggetto, ad esempio Integer, e il secondo è un tipo di dati primitivo, ad esempio int.

Stream().mapToInt() per convertire l’lista di numeri interi in Int Array in Java

Stream è stato introdotto in Java 8 con il pacchetto java.util.stream. Può aiutarci a ottenere i risultati desiderati perché include un metodo mapToInt() che restituisce un IntStream (una sequenza di valori int primitivi).

Per renderlo più chiaro, vediamolo nell’esempio qui sotto.

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);
    }
  }
}

Produzione:

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

Possiamo ricontrollare il tipo di dati di numArray eseguendo il debug. L’output di debug seguente mostra che numList è un ArrayList, mentre numArray è un primitivo int.

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

ArrayUtils.toPrimitive() per convertire l’lista di numeri interi in Int Array in Java

Abbiamo un altro modo per trasmettere un List<Integer> a un tipo int[]. Useremo Apache Common Lang, che è un insieme di metodi di supporto.

ArrayUtils.toPrimitive() ci permette di passare la nostra numList che ci fornisce il risultato nel tipo di dati int[].

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);
    }
  }
}

Produzione:

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

Il metodo di Guava per convertire l’lista di numeri interi in Array Int in Java

Guava è una libreria che può aiutarci a convertire la nostra lista di interi in valori primitivi di int.

Ints.toArray(ListOfIntegers) è una parte del pacchetto com.google.common.primitives.Ints che prende il nostro lista come argomento e ci fornisce l’array di int.

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);
    }
  }
}

Produzione:

int primitive: 110
int primitive: 220
int primitive: 330
int primitive: 440
int primitive: 550
Autore: Rupam Yadav
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

Articolo correlato - Java Int

Articolo correlato - Java List

Articolo correlato - Java Array