Liste liée méthode find (). Comment
okey, j'ai une liste chaînée (pas de collections) et j'ai créé une nouvelle méthode pour trouver un objet dans ma liste Liée. Donc quelque chose comme ceci:
public Object find(Linked obj) {
Linked newObj = firstLink;
while(newObj != null) {
if(newObj == obj) {
return obj;
}
else {
newObj = newObj.next;
}
}
Par le chemin, j'ai 2 classes: Linked
et Linkedlist
. Dans la première, j'ai avoir une référence vers le nœud suivant et la fonction d'affichage. L'action principale est dans Linkedlist où j'ai toutes les méthodes de l'insertion, de l'affichage et un firstLink
de référence (le dernier nœud inséré dans ma liste) ( ma méthode find() est aussi dans cette classe). Donc, dans ma fonction principale je fais cela:
Linkedlist obj = new Linkedlist();
obj.insert("Auto");
Linkedlist obj2 = new Linkedlist();
obj2.insert("Moto");
Et comment puis-je appeler ma méthode find()
pour vérifier si mon Linkedlist
a (par exemple) obj2
?
- utilisation newObj.equals(obj) (d'après vous le remplacer dans la classe) et être conscient que obj2 est une Linkedlist, pas un objet à rechercher.
- Oui, je vous remercie!
Vous devez vous connecter pour publier un commentaire.
Penser de cette façon:
Vous avez Lié la classe (c'est une liste liée nœud, et chaque nœud doit avoir la prochaine pointeur et l'élément à l'intérieur du noeud). Afin que cette classe doit avoir un constructeur,un setter et getter méthodes.
D'autre part, la classe Linkedlist est votre classe principale qui gèrent l'objet Lié (qui est la gestion de la liste liée nœud). Dans cette catégorie, vous devriez avoir de référence pour le nœud racine (le premier nœud à insérer). Donc, dans votre programme, vous devez avoir un seul/plus d'objet Lié et Linkedlist que votre classe principale.
De comparer un objet unique dans LinkedList à une autre:
Mettre en œuvre la méthode
equals()
pourLinked
. Dans cette méthode, vérifier si les Chaînes contenues dans les deux objets (objet courant dans l'itération et l'objet à trouver) sont les mêmes. Pour ce faire, vous devez utiliser leString.equals(String other)
méthodePour comparer deux LinkedLists, écrire un autre
equals()
méthode. Cette fois pourLinkedList
. Dans cette méthode, vous comparez par exemple le nombre d'éléments dans boths listes. Si les listes contiennent le même nombre d'éléments, vous pouvez utiliser le défini précédemmentLinked.equals()
de comparer les listes, item par item.