import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
* Set专题:Set具有排重功能
* HashSet set的遍历方法只有一种,即迭代器
* TreeSet具有元素自动排序功能
* @author Administrator
*
*/
public class Demo36 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/**
* 遍历HashSet
*/
Set set = new HashSet();
set.add("gouchao");
set.add("xuyongchao");
set.add("gouli");
set.add("gouchao");
Iterator it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//遍历TreeSet
Set set2 = new TreeSet();//TreeSet能够对基本数据类型自动排序
set2.add("gouchao");
set2.add("xuyongchao");
set2.add("zengxiangli");
Iterator it2 = set2.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
/**
* 对TreeSet进行自定义排重
*/
Student student = new Student();
student.age= 100;
Student stu2 = new Student();
stu2.age = 1333;
Student stu3 = new Student();
stu3.age = 2444;
Set set3 = new TreeSet();
set3.add(student);
set3.add(stu2);
set3.add(stu3);
Iterator it3 = set3.iterator();
while(it3.hasNext()){
System.out.println(((Student)it3.next()).age);
}
}
}
/**
* 自定义排序方法
* @author Administrator
*
*/
class Student implements Comparable{
public int age ;
public int compareTo(Object o) {
// TODO Auto-generated method stub
Student stu = (Student) o ;
/*if(this.age>stu.age)
return 1;
else if(this.age<stu.age)
return -1;
else return 0 ;*/
return -(this.age - stu.age);//this.age - stu.age 按照从小到大的年龄排序
}
}