Comment convertir int[] en Integer[] pour les clés de carte
Lorsque vous travaillez avec des collections et des cartes en Java, il est important d'être conscient des limites des types de données primitifs. Dans certaines situations, par exemple lorsque vous devez stocker un tableau d'entiers en tant que clé dans une carte, les tableaux int[] primitifs ne peuvent pas être utilisés directement car les clés de carte doivent être des objets. C'est là que la conversion de int[] en Integer[] est utile.
Dans votre cas spécifique, vous disposez d'un grand ensemble de données de tableaux int[] et souhaitez créer un Map
Java 8 (One Line)
Java 8 fournit une méthode simple pour convertir int[] en Integer[] à l'aide de flux :
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed array Integer[] boxedData = Arrays.stream(data).boxed().toArray(Integer[]::new);</code>
Utilisation de collecteurs
Vous pouvez également utiliser des collecteurs pour convertir le int[] en une liste
<code class="java">int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // To boxed list List<Integer> boxedList = Arrays.stream(data).boxed().collect(Collectors.toList()); // To boxed array Integer[] boxedData = boxedList.toArray(new Integer[boxedList.size()]);</code>
Remarque :
Bien qu'il soit possible de convertir int[] en Integer[] pour l'utiliser comme clés de mappage, il est important de prendre en compte le inconvénients de l’utilisation de tableaux comme clés. Ceux-ci incluent :
Dans la plupart des cas, il est recommandé d'utiliser un objet personnalisé ou une classe wrapper comme clé de mappage au lieu d'un tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!