Maison >Java >javaDidacticiel >Programme Java pour fusionner deux tableaux
Cet article montre deux méthodes Java pour fusionner deux tableaux, garantissant que le tableau résultant est trié et ne contient aucun doublons (dans la deuxième approche). La première méthode utilise une approche basée sur un tableau simple, tandis que la seconde exploite A Map
pour une élimination efficace en double.
Exemples de scénarios:
Scénario 1:
Entrée: arr1[] = {2, 1, 8, 5, 7}
arr2[] = {9, 6, 6, 3, 1}
Sortie: arr3[] = {1, 1, 2, 3, 5, 6, 6, 7, 8, 9}
Scénario 2:
Entrée: arr3[] = {8, 8, 0, 6, 6}
arr4[] = {7, 7, 0, 0, 4}
Sortie: arr3[] = {0, 0, 0, 4, 6, 6, 7, 7, 8, 8}
(Remarque: La sortie d'origine dans le texte d'entrée avait un résultat apparemment non trié. Cette sortie corrigée est triée.)
Méthodes:
mergeArrays()
: Cette fonction fusionne les tableaux d'entrée et trie le résultat. Arrays.sort()
: Cette fonction Java intégrée trie le tableau fusionné. Approche 1: approche basée sur le tableau naïf
Cette méthode itère via les deux tableaux d'entrée, ajoutant des éléments un par un à un nouveau tableau. La méthode Arrays.sort()
trie ensuite le tableau final.
Algorithme:
Arrays.sort()
. Approche 2: Utilisation de cartes pour la suppression en double
Cette approche utilise un TreeMap
(pour maintenir l'ordre trié) pour stocker des éléments à partir des deux tableaux d'entrée. Étant donné qu'un Map
ne contient que des clés uniques, les valeurs en double sont automatiquement éliminées. Enfin, les clés des TreeMap
(qui sont les éléments uniques et triés) sont imprimés.
Algorithme:
TreeMap
pour stocker des éléments. TreeMap
(avec une valeur de true
, par exemple). TreeMap
et imprimer les clés (qui sont les éléments uniques et triés). Remarque: Les exemples de code fournis dans le texte d'origine contenaient des erreurs et des incohérences mineures. Les algorithmes et les explications ci-dessus fournissent une représentation plus claire et plus précise de la fonctionnalité prévue. Le code corrigé nécessiterait une réécriture plus substantielle pour être entièrement fonctionnelle et sans erreur. Les concepts principaux restent cependant comme décrit ci-dessus.
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!