Maison > Java > javaDidacticiel > Comment convertir un « int[] » en un « Integer[] » pour les clés de carte en Java ?

Comment convertir un « int[] » en un « Integer[] » pour les clés de carte en Java ?

Susan Sarandon
Libérer: 2024-11-01 11:59:02
original
285 Les gens l'ont consulté

How to Convert an `int[]` to an `Integer[]` for Map Keys in Java?

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 pour compter la fréquence de chaque combinaison de tableaux. Voici comment résoudre ce problème :

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>
Copier après la connexion

Utilisation de collecteurs

Vous pouvez également utiliser des collecteurs pour convertir le int[] en une liste, qui peut ensuite être convertie en un nombre entier. [] array :

<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>
Copier après la connexion

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 :

  • Les tableaux sont mutables, ce qui peut entraîner un comportement inattendu et des fuites de mémoire potentielles.
  • Les tableaux ne sont pas basés sur des valeurs, ce qui signifie que deux tableaux avec les mêmes éléments mais différents les références seront traitées comme des clés différentes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal