1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| import java.util.HashSet;
import java.util.Set;
public class HashsetTest {
public static void main(String[] args) {
Set<Person> personSet = new HashSet<Person>();
personSet.add(new Person("Jeremie"));
personSet.add(new Person("Gérard"));
personSet.add(new Person("Tommy"));
personSet.add(new Person("Jacques"));
for ( Person p : personSet ) {
if ( p.name.equals("Gérard") || p.getName().equals("Jacques") ) {
p.name = "Tommy";
}
}
System.out.println("Number of items in the Set : " + personSet.size());
for ( Person p : personSet ) {
System.out.println(p);
}
System.out.println("Number of items in the Set : " + personSet.size());
System.out.println();
System.out.println("Equality tests ");
System.out.println();
Person[] pList = personSet.toArray(new Person[] {});
for ( int i = 0; i < pList.length - 1; i++ ) {
if ( pList[i].equals(pList[i + 1]) ) {
System.out.println(pList[i] + " and " + pList[i + 1] + " are equals ");
}
else {
System.out.println(pList[i] + " and " + pList[i + 1] + " are not equals ");
}
}
}
static class Person {
private String name;
Person(String name) {
this.name = name;
}
public String toString() {
return (name == null ? "" : name);
}
@Override
public boolean equals(Object o) {
if ( o == this )
return true;
if ( !(o instanceof Person) ) {
return false;
}
return this.name.equals(((Person)o).name);
}
@Override
public int hashCode() {
final int seed = 31;
return seed + ((name == null) ? 0 : name.hashCode());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
} |
Partager