方法:不同步的
插入是按字典序排序的
-
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);
-
}
-
}
-
}
输出结果: