方法:不同步的
插入是按字典序排序的
import java.util.Iterator;
import java.util.TreeSet;
class Main
{
public static void main(String args[])
{
TreeSet ts=new TreeSet();
ts.add("abcd");
ts.add("agg");
ts.add("ffas");
Iterator it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
运行结果:
如果插入的是自定义对象 需要让类实现 Comparable 接口并且必须要重写compareTo
举例如下:
import java.util.Iterator;
import java.util.TreeSet;
class Person implements Comparable
{
String name;
int age;
Person(String name,int age)
{
this.name=name;
this.age=age;
}
@Override
public int compareTo(Object o) {
Person p=(Person)o;
//先对姓名字典序比较 如果相同 比较年龄
if(this.name.compareTo(p.name)!=0) {
return this.name.compareTo(p.name);
}
else
{
if(this.age>p.age) return 1;
else if(this.age<p.age) return -1;
}
return 0;
}
}
class Main
{
public static void main(String args[])
{
TreeSet ts=new TreeSet();
ts.add(new Person("agg",21));
ts.add(new Person("abcd",12));
ts.add(new Person("ffas",8));
ts.add(new Person("agg",12));
Iterator it=ts.iterator();
while(it.hasNext())
{
Person p=(Person)it.next();
System.out.println(p.name+":"+p.age);
}
}
}
输出结果: