Je veux chercher un objet dans une arrayliste en utilisant l'un de l'attribut informatique: nom de chaîne.
J'ai imprimé élément trouvé em> ici, et cela fonctionne simplement bien. P> xxx pré> Cependant, je veux notifier lorsque l'élément est pas trouvé em> aussi. Lorsque j'ajouterais Permettez-moi d'expliquer. Supposons, objets em>: livre, stylo et crayon sont stockés dans le tableau sinon code> à ceci
pour code> boucle, la chaîne
code>
élémentsArcrh code> est égal (pourrait ne pas être le terme de droite exacte , désolé) avec tous les objets de la flambée et imprime la notification pour chaque index d'objet. P>
itemlist code> dans cet ordre respectif et, la boucle
pour code> est modifiée de la manière suivante : P>
SEARCH ITEMS
Enter item name:
book
[ITEM FOUND]
[ITEM NOT FOUND]
[ITEM NOT FOUND]
4 Réponses :
Le moyen le plus simple de le faire est d'imprimer lorsque vous avez trouvé le livre et de retourner. De cette façon, vous allez arrêter itérant une fois le livre trouvé et laissera la fonction immédiatement:
for (Item item: itemList) { // do some stuff ... }
crée la liste et l'élément de recherche: puis la fonction de contrôle d'élément est p> et ça marche pour moi, s'il vous plaît Essayez ceci et laissez-nous savoir :) p> p>
Toutes les autres méthodes mentionnées par d'autres utilisateurs semblent bonnes. Juste pour vous exposer à quelque chose de nouveau, voici mes 2 cents. Vous pouvez utiliser API JAVA Stream Pour trouver tout ce qui correspond à votre terme de recherche. Je trouve plus lisible mais c'est ma préférence personnelle.
Item foundItem = itemList .stream() .filter((item) -> item.name.equalsIgnoreCase(itemSearch)) .findFirst() .orElse(null); System.out.println(foundItem);
Il existe de nombreuses façons de rechercher un article Donc, après avoir ajouté les éléments à la liste Utilisez une chaîne pour comparer avec l'élément d'origine Donc, si l'élément n'est pas trouvé, une instruction sera imprimée après la fin de la boucle
System.out.println("Enter an item to search for:"); String item = sc.nextLine(); String notFound = null; for (int i = 0; i < list.size(); i++) { boolean check = list.get(i).matches(item); if(check){ System.out.println("item is found."); notFound=item; break; } } if(notFound == null){ System.out.println("item not found."); }
Il montre une erreur: "Les correspondances de la méthode (chaîne) sont indéfinies pour l'élément de type Java (67108964)"
Définissez un booléen, que vous avez défini sur
true code> si l'élément est trouvé. Après la boucle, écrivez un
si-ele code> impliquant le booléen.