Maison  >  Article  >  Java  >  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
Susan Sarandonoriginal
2024-11-01 11:59:02200parcourir

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>

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>

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!

Déclaration:
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