-9
votes

Pourquoi la méthode Equals et la méthode comparète-t-elle requise pour atteindre la recherche et le tri des éléments d'une liste? (Java)

Je suis confondu avec cette question, j'espère que quelqu'un peut aider. Je ne sais pas comment ils se rapportent au tri.


3 commentaires

La question n'est pas claire


C'est sur le titre


Comment allez-vous bien trier les choses si vous ne pouvez pas les comparer?


3 Réponses :


0
votes

Pour trier une collection, vous devez avoir une relation de commande ( https: // fr .wikipedia.org / wiki / ordre_theory ). Bien que pour les chiffres, cette relation soit simple Java fournit un moyen flexible de comparer des objets complexes (au moyen d'une interface).

Dans les mots de commande, lors du tri de la collection, Java comparera les objets présents dans la collection afin de déterminer lequel est plus grand / plus petit. Prenez un algorithme de tri simple (comme Buble Trier: https://fr.wikipedia.org/wiki/bubble_sort < / a>) et vous pouvez voir les comparaisons en place. Encore une fois, lorsque vous manipulez des chiffres, cette relation est naturelle, mais lors de la définition d'une nouvelle classe, Java n'a aucun moyen de comprendre quels attributs à utiliser (et comment les utiliser) dans la comparaison.


0 commentaires


0
votes

Votre question n'a aucun sens. Disons que si un donnez-vous une liste de noms de fruits et vous demandez de les organiser en ascendant. Disons que la liste est xxx pré>

vous l'organiserait comme ceci p> xxx pré>

Si vous vous demandez pourquoi vous avez mis Apple à l'avant. Vous diriez parce que a est le premier alphabet, etc ... p>

Si vous deviez les organiser en ordre décroissant, la liste serait p>

[Apple, Banana, Kiwi, Mango, Orange]


7 commentaires

Merci vraiment aidé.


@Andrewram Les questions de devoirs ne sont pas autorisées sur, surtout en particulier s'il n'y a aucune tentative de côté d'Asker. Veuillez lire des règles afin que vous sachiez comment demander la question des devoirs sans être évité. Aussi, si une réponse réponses Votre question que vous sélectionnez Check Mark à côté de cela, ce qui signifie que la question est résolue.


Oh vraiment? Je ne savais pas ça. Je vais lire les règles. Désolé, je suis nouveau ici. En outre, qui dit que je n'ai pas essayé de y répondre?


@Andrewram Vous devriez inclure votre tentative de question. Je ne peux pas dire si vous avez essayé de répondre ou non. Comme un échantillon d'extrait de code ou quelque chose comme exemple. Je peux suggérer une modification.


@Goion " Les questions de devoirs ne sont pas autorisées sur si " si ce serait le cas, nous n'aurions pas de discussions comme " Comment est-ce que je demander et répondre aux questions de devoirs? ". Nous devons nous rappeler que le but principal de ce site est de rassembler toutes les questions / problèmes de programmation spécifiques et les réponses pour aider les programmeurs à l'avenir à faire face à des mêmes problèmes . Nous acceptons donc des questions provenant de devoirs tant qu'ils décrivent un problème spécifique , mais ne sont pas en même temps trop large (la réponse complète ne doit pas nécessiter d'écrire un livre complet , ni un chapitre).


Mais les questions de devoirs sont très souvent (a) non sur Single Problème de programmation / question, mais les demandes de rédaction de codes (celles-ci ne sont pas acceptées) ou une série de questions séparées (bien que liées); (b) DUPLICATES - Nous avons déjà couvert environ 99,9% des sujets de base liés à la plupart des outils / langues de programmation, une nouvelle question de devoirs unique est difficile à créer.


Un autre problème est la morale . Nous ne voulons pas laisser quelqu'un tromper. Mais sont des questions sur la définition ou les raisons / but de certaines cartes qui trichent des Mechainsms? Imo non et ils devraient être acceptables ici. Les mécanismes anti-triche devraient s'appliquer aux questions Whager OPSing de l'aide avec faire quelque chose. Pour de tels cas, nous devrions demander à OP pour sa meilleure tentative en premier, et seulement après avoir reçu suffisamment d'informations / astuces pour le laisser aller de l'avant, mais sans donner une solution complète .