Vérifier si un élément existe dans TreeSet en Java
Comment faire pour rechercher des objets stockés dans une TreeSet ? ArrayList implémente l'interface java.util.List qui fournit la méthode get(int index) pour récupérer un objet avec son index. Contrairement à List, TreeSet implémente l'interface java.util.Set qui n'autorise pas l'indexation des objets, donc on ne peut y accéder directement.Toutefois, les deux collections partagent la méthode contains() pour vérifier si la liste (dans notre cas TreeSet) contient un élément spécifique. Vous pouvez parcourir TreeSet avec Iterator et tester l'égalité avec la condition if(o1.equals(o2)) jusqu'à atteindre l'élément recherché. Là on parle de Set, donc les éléments sont mélangés et n'ont pas d'index précis.
import java.util.Iterator;La compilation et l'exécution de ce code donne ceci:
import java.util.TreeSet;
public class search_element {
public static void main(String[] args) {
// création de TreeSet
TreeSettset = new TreeSet ();
// remplir TreeSet
tset.add("abc");
tset.add("bcd");
tset.add("cde");
tset.add("def");
tset.add("efg");
String e = "def";
// vérifier l'existance d'un élément spécifique dans TreeSet
boolean existe = tset.contains(e);
System.out.println(e+" existe dans treeset ? "+existe);
String e2 = "eee";
existe = tset.contains(e2);
System.out.println(e2+" existe dans treeset ? "+existe);
Iteratoriterator = tset.iterator();
// rechercher l'élément et tester l'égalité avec equals
while (iterator.hasNext()){
String obj = iterator.next();
if(obj.equals(e))
System.out.println("l'objet "+e+" existe dans la liste");
}
}
}
def existe dans treeset ? trueRéférences:
eee existe dans treeset ? false
l'objet def existe dans la liste
StackOverFlow: How come Java's TreeSet has no get() method?