package blog;
import java.util.Iterator; import java.util.Set; import java.util.TreeSet;
public class Test {
public static void main(String[] args) { TreeSet
myset.add(person1); myset.add(person2); myset.add(person3); myset.add(person4); myset.add(person5); showme(myset);
}
public static void showme(Set set) { Iterator it=set.iterator(); while(it.hasNext()) {
Person temp=(Person)it.next(); System.out.println(temp); } } }
另一种方式是写一个比较器,在构造Set的时候持有该比较器的引用 package blog; import java.util.*;
public class MyComparator implements Comparator {
public int compare(Object o1, Object o2) { Person person1=(Person)o1; Person person2=(Person)o2;
return person1.getAge()-person2.getAge(); }
}
package blog;
public class Person { private String name; private int age;
public Person(String name, int age) { this.name = name; this.age = age; }
public int getAge() { return age; }
public String getName() { return name; }
public int hashCode() {
return name.hashCode()*10+age; }
public boolean equals(Object obj) { if(this==obj)return true; else{
if(this.getClass()==obj.getClass()) {
Person temp=(Person)obj;
if(this.name.equals(temp.getName())&&this.age==temp.getAge())
return true; else return false;
}
else return false; } }
public String toString() {
return \姓名:\年龄:\ }
}
package blog;
import java.util.Iterator; import java.util.Set; import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
TreeSet
myset.add(person1); myset.add(person2); myset.add(person3); myset.add(person4); myset.add(person5);