Exemple07_HashSetRetourTélécharger Exemple07_HashSet.java import java.util.*; // Exemple de l'utilisation de la collection HashSet public class Exemple07_HashSet { public static void main(String[] args) { // Cas d'un HashSet de String HashSet<String> setChaine; setChaine = new HashSet<String>(); setChaine.add("un"); setChaine.add("trois"); setChaine.add("deux"); setChaine.add("quatre"); setChaine.add("quatre"); Terminal.ecrireStringln("--1-- Affichage de setChaine"); for(String s:setChaine) Terminal.ecrireStringln(s); // Rechercher un setChaine Terminal.ecrireStringln("--5-- Recherche d'un setChaine"); if (setChaine.contains("quatre")) Terminal.ecrireStringln("quatre trouvé"); else Terminal.ecrireStringln("quatre non trouvé"); // Cas d'utilisation d'un HashSet avec redefinition des méthodes // equals et hashCode // Terminal.ecrireStringln("======== Bidule ==============="); HashSet<Bidule> setBidule; setBidule = new HashSet<Bidule>(); setBidule.add(new Bidule(10,11)); setBidule.add(new Bidule(10,22)); setBidule.add(new Bidule(10,33)); setBidule.add(new Bidule(100,44)); setBidule.add(new Bidule(50,55)); setBidule.add(new Bidule(60,66)); setBidule.add(new Bidule(70,77)); Terminal.ecrireStringln("---- Affichage de setBidule"); for(Bidule b:setBidule) Terminal.ecrireStringln(b.toString()); // Rechercher un bidule Terminal.ecrireStringln("---- Recherche d'un bidule : 10,44"); if (setBidule.contains(new Bidule(10,44))) Terminal.ecrireStringln("Bidule trouvé"); else Terminal.ecrireStringln("Bidule non trouvé"); Terminal.ecrireStringln("---- Recherche d'un bidule : 100,44"); if (setBidule.contains(new Bidule(100,44))) Terminal.ecrireStringln("Bidule trouvé"); else Terminal.ecrireStringln("Bidule non trouvé"); Terminal.ecrireStringln("---- Recherche d'un bidule : 40,777"); if (setBidule.contains(new Bidule(40,777))) Terminal.ecrireStringln("Bidule trouvé"); else Terminal.ecrireStringln("Bidule non trouvé"); } } class Bidule { int id; int x; int y; public Bidule(int x,int y){this.x=x;this.y=y;this.id=x*100;} public String toString() { return "("+id+") "+x+" "+y; } // Il faut definir equals et hashCode // public boolean equals(Object o) { return x==((Bidule)o).x; } public int hashCode() { return id; } } Terminal.java import java.io.*; public class Terminal{ static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); public static String lireString() // Lire un String { String tmp=""; char C='\0'; try { tmp = in.readLine(); } catch (IOException e) { exceptionHandler(e); } return tmp; } // fin de lireString() public static int lireInt() // Lire un entier { int x=0; try { x=Integer.parseInt(lireString()); } catch (NumberFormatException e) { exceptionHandler(e); } return x ; } public static boolean lireBoolean() // Lire un entier { boolean b = true; try { b = Boolean.valueOf(lireString()).booleanValue(); } catch (NumberFormatException e) { exceptionHandler(e); } return b; } public static double lireDouble() // Lire un double { double x=0.0; try { x=Double.valueOf(lireString()).doubleValue(); } catch (NumberFormatException e) { exceptionHandler(e); } return x ; } public static char lireChar() // Lire un caractere { String tmp=lireString(); if (tmp.length()==0) return '\n'; else { return tmp.charAt(0); } } public static void ecrireString(String s){ // Afficher un String try{ System.out.print(s); } catch (Exception ex){ exceptionHandler(ex); } } public static void ecrireStringln(String s) // Afficher un String { ecrireString(s); sautDeLigne(); } // fin de ecrireStringln() public static void ecrireInt(int i) // Afficher un entier { ecrireString(""+i); } public static void ecrireIntln(int i) // Afficher un entier { ecrireString(""+i); sautDeLigne(); } public static void ecrireBoolean(boolean b){ ecrireString(""+b); } public static void ecrireBooleanln(boolean b){ ecrireString(""+b); sautDeLigne(); } public static void ecrireDouble(double d) // Afficher un double { ecrireString(""+d); } public static void ecrireDoubleln(double d) // Afficher un double { ecrireDouble(d); sautDeLigne(); } public static void ecrireChar(char c) // Afficher un caractere { ecrireString(""+c); } public static void ecrireCharln(char c) // Afficher un caractere { ecrireChar(c); sautDeLigne(); } public static void sautDeLigne(){ try{ System.out.println(); }catch(Exception ex){ exceptionHandler(ex); } } protected static void exceptionHandler(Exception ex){ TerminalException err = new TerminalException(ex); throw err; } public static void ecrireException(Throwable ex){ ecrireString(ex.toString()); ex.printStackTrace(System.err); } } class TerminalException extends RuntimeException{ Exception ex; TerminalException(Exception e){ ex = e; } } compil.bat mkdir bin del /f /s /q bin\*.class javac -d bin *.java pause run.bat cd bin java Exemple07_HashSet pause