📄 treesettest.java
字号:
package util;
import java.util.*;
/*
* 如果一个类的对象要作为元素传到TreeSet中,那么这个类必须实现了Comparable接口.
*/
public class TreeSetTest {
public static void main(String[] args) {
/*TreeSet ts=new TreeSet();
ts.add("winsum");
ts.add("weixin");
ts.add("mybole");
Iterator it=ts.iterator();//TreeSet类没有提供get()方法来获得元素,因此要使用迭代器.
while(it.hasNext()){
System.out.println(it.next());
}*/
TreeSet trs=new TreeSet(new Stu2.Stu2Comparator());
trs.add(new Stu2(2,"suxin"));
trs.add(new Stu2(4,"lishi"));
trs.add(new Stu2(3,"boy"));
trs.add(new Stu2(1,"zhangsan"));
trs.add(new Stu2(3,"aoy"));
Iterator it=trs.iterator();//TreeSet类没有提供get()方法来获得元素,因此要使用迭代器.
while(it.hasNext()){
System.out.println(it.next());
}
}
}
class Stu2 implements Comparable{
int num;
String name;
public Stu2(int num, String name) {
this.num = num;
this.name = name;
}
static class Stu2Comparator implements Comparator{
public int compare(Object o1,Object o2){
Stu2 s1=(Stu2)o1;
Stu2 s2=(Stu2)o2;
int result;
result=s1.num>s2.num? 1:(s1.num==s2.num? 0:-1);
if(result==0)
result=s1.name.compareTo(s2.name);
return result;
}
public boolean equals(Object o1,Object o2){
Stu2 s1=(Stu2)o1;
Stu2 s2=(Stu2)o2;
return s1.num==s2.num&&s1.name.equals(s2.name);
}
}
public int compareTo(Object o){
Stu2 s=(Stu2)o;
return num>s.num? 1:(num==s.num? 0:-1);
}
public String toString(){
return num+":"+name;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -