CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JAVA] Tester une égalité

ScientificBird
ScientificBird
Niveau 9
11 mai 2015 à 16:44:44

Bonjour ! Il y a des tas de façons de tester l'égalité entre deux listes ArrayList.

Mais comment procéder au sein d'une seule ArrayList ? Admettons par exemple cette liste :

[2,5,6,2,0,84,6,11]

Je veux obtenir une phrase console comme "Dans cette liste, nous avons 2 et 6"

Alors oui je me doute bien que je dois passer par quelque chose comme :

for(int i = 0; i < monArray.size(); i++){
monArray.get(i);
//Structure conditionnelle pour détecter l'égalité
}

Mais je n'arrive pas à visualiser le reste. Il faudrait que j'isole chacune de mes valeurs pour les comparer entre elles, c'est ça ? Je sera aussi curieux de savoir comment procéder avec un tableau (enfin si y'a un procédé différent, si c'est le même algorithme, non).

Merci d'avance, je ne sais pas si je me noie dans un verre d'eau ou bien si tester l'égalité des valeurs dans un seul tableau ou Liste au lieu de deux minimum est vraiment un peu plus difficile :noel:

JerryDayPonay
JerryDayPonay
Niveau 33
11 mai 2015 à 17:37:20

Tu cherches les doublons ?

Si oui commence par trier ta liste, tu peux le faire avec Collections.sort(taListe).
Tu auras [0, 2, 2, 5, 6, 6, 11, 84].
Après tu as juste à la parcourir et à regarder si la valeur i et égale à la valeur i+1.

j3r3mux
j3r3mux
Niveau 10
11 mai 2015 à 17:42:58

Compte les éléments:
2:2
5:1
6:2
2:1
0:1
...

Si tu manipule des entiers comme tu présentes tu peux trier et si à l'indice i c'est la même chose qu'à l'indice i-1 alors c'est en double...

JerryDayPonay
JerryDayPonay
Niveau 33
11 mai 2015 à 17:50:25

Compte les éléments:

2:2
5:1
6:2
2:1
0:1

Ca marche bien et tu as une complexité en O(n), par contre c'est utilisable uniquement si les valeurs sont bornées (des ages par exemples), sinon tu fais un tableau de 2^32 cases pour stocker toutes les valeurs possibles.

La méthode tu tri est en n log(n).

watk0s
watk0s
Niveau 10
11 mai 2015 à 23:53:25

pas forcément tu peux faire une map pour le comptage

ScientificBird
ScientificBird
Niveau 9
16 mai 2015 à 10:38:47

Alors, je voudrais éviter d'utiliser des Maps, j'utilise déjà un Array, j'aimerai me limiter niveau Collections (donc j'utiliserai ça en dernier recours). Donc j'ai d'abord essayé la solution proposée par JerryDayPonay (super pseudo au passage !) et voici ce que ça donne :

http://pastebin.com/kLGWC5c6

D'un point de vu logique ma solution semble ok je crois, A la fin, une fois mes éléments triés dans l'ordre, bah je regarde si la valeur de ma liste à l'index i est égale à la valeur contenue dans l'index i+1 autrement je retire de la liste...bah ça marche pas et je vois pas pourquoi ma solution me semble logique pourtant :pf:

Pour les tables de 2 et 3 je suis censé retrouver 12 par exemple...enfin.

Que se passe t-il ? :noel:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment