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

Trie d'une ArrayList

[Pleiade]
[Pleiade]
Niveau 10
04 octobre 2015 à 17:47:01

Je dispose d'une ArrayList d'un type Objet comportant plusieurs attributs (Nom, Poid, Valeur, Valeur/Poid).
Ce que j'aimerai faire c'est trier cette ArrayList selon le critère Valeur/Poid.

J'ai déjà cherché sur internet et je suis tombé sur des choses comme compareTo, Collection.sort mais je n'ai pas vraiment reussi à m'en servire :-(

Darkandgel
Darkandgel
Niveau 10
04 octobre 2015 à 17:56:34

Dans ton objet de type MonObjet, tu définis une méthode compareTo(MonObjet other) qui retourne un int
Si other est plus grand alors ton resultat est negatif
S'ils sont egaux, ton resultat est de 0
Si other est plus petit alorston resultat est positif.

Ensuite tu fis un Collection.sort(monArray)

Avec monArray qui est le tableau que tu veux trier

godrik
godrik
Niveau 30
04 octobre 2015 à 19:36:37

Heu, ici c'est probablement pas ca que tu veux. Si tu veux TOUJOURS trier tes objets par ratio valeur/poids alors c'est le bon choix. Mais quelquechose me dit que le critere pourrait changer. Et donc, tu veux probablement utiliser la version de sort qui prends un comparator explicit en parametre.

http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#sort%28java.util.List,%20java.util.Comparator%29

Il va te falloir definir un objet qui implemente Comparator pour tes objets a toi et definir les fonctions compare et equalsto.

PS: Ca sent le TP sur Knapsack.

Message édité le 04 octobre 2015 à 19:37:05 par godrik
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment