JAVA tableau trié sans doublons
Fermé
usdy
Messages postés
243
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
20 mai 2018
-
19 sept. 2009 à 17:01
java4ever - 19 sept. 2009 à 23:41
java4ever - 19 sept. 2009 à 23:41
A voir également:
- JAVA tableau trié sans doublons
- Tableau croisé dynamique - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Trier tableau excel - Guide
- Tableau ascii - Guide
1 réponse
Usdy, bonjour
Une réponse à ta question est facile si on sait que les classes de collection de type Set en java ne conservent pas deux valeurs identiques : pas exemple la classe treeSet, si on ajoute deux fois une même valeur, ne va en fait contenir cet élément qu'une fois.
Je ne sais pas si c'est un service, et je te conseille de trouver la solution toi même, mais pour gagner du temps, je te donne un exemple qui illustre ma solution :
Le résultat est :
nombre de doublons dans TABUNIQ 0
nombre de doublons dans TABDOUBLON 2
C'est pas joli ?
Une réponse à ta question est facile si on sait que les classes de collection de type Set en java ne conservent pas deux valeurs identiques : pas exemple la classe treeSet, si on ajoute deux fois une même valeur, ne va en fait contenir cet élément qu'une fois.
Je ne sais pas si c'est un service, et je te conseille de trouver la solution toi même, mais pour gagner du temps, je te donne un exemple qui illustre ma solution :
import java.util.Arrays; import java.util.List; import java.util.Set; import java.util.TreeSet; /** * Coment connaître le nombre de doublons dans un tableau ? * On utilise la particularité de la classe TreeSet * Qui ne stocke pas deux valeurs identiques. */ public class ValeurEnDouble { // deux tableaux d'exemple : private static final Integer[] TABUNIQ = {1, 2, 3, 4, 5, 6,}; private static final Integer[] TABDOUBLON = {1, 2, 2, 3, 4, 4,}; // combien de doublons dans letableau passé en paramètre ? public static int getNbDoublons(Integer[] tab) { List<Integer> li = Arrays.asList(tab); // transforme le tableau en liste Set<Integer> unset = new TreeSet<Integer>(li); // transforme la liste en Set return tab.length - unset.size(); // nombre de doublons } public static void main(String[] args) { System.out.println("nombre de doublons dans TABUNIQ " + getNbDoublons(TABUNIQ)); System.out.println("nombre de doublons dans TABDOUBLON " + getNbDoublons(TABDOUBLON)); } }
Le résultat est :
nombre de doublons dans TABUNIQ 0
nombre de doublons dans TABDOUBLON 2
C'est pas joli ?