import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.创建集合
SortedSet ss = new TreeSet();
//2.向集合中添加元素
ss.add(1);//自动装箱
ss.add(3);
ss.add(2);
ss.add(-1);
//3.遍历输出
Iterator it = ss.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("=========================================");
ss.clear();
//向集合中添加字符串
ss.add("nihao");
ss.add("wobuhao");
ss.add("wohenhao");
ss.add("weishenmehuizheyang?");
it = ss.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("=========================================");
ss.clear();
//向集合中添加日期
String st1 = "2008-08-08";
String st2 = "2009-08-08";
String st3 = "2008-09-08";
String st4 = "2008-08-09";
String st5 = "2012-08-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
try {
Date date1 =sdf.parse(st1);
Date date2 =sdf.parse(st2);
Date date3 =sdf.parse(st3);
Date date4 =sdf.parse(st4);
Date date5 =sdf.parse(st5);
ss.add(date1);
ss.add(date2);
ss.add(date3);
ss.add(date4);
ss.add(date5);
} catch (ParseException e) {
e.printStackTrace();
}
it = ss.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("==============================");
ss.clear();
//向集合中添加自定义元素 user
User u1 = new User(10,"zhangdan");
User u2 = new User(20,"lisi");
User u3 = new User(5,"naliu");
ss.add(u1);
ss.add(u2);
ss.add(u3);
it = ss.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("==============================");
}
}
/**
* 存在的元素为什么会自动排序,因为它们实现了comprable接口,存在元素时,会调用comprareTo()方法。
*/
用户user
//User1 实现了comprable接口,或者是定义一个比较器
public class User implements Comparable{
private int age;
private String name;
public User(int age,String name){
this.age = age;
this.name = name;
}
public User(){
}
@Override
public int compareTo(Object o) {
int age1 =this.age;
int age2 = ((User)o).age;
return age1-age2;
}
public String toString(){
return "name=" + name + "age="+age;
}
}
转载于:https://blog.51cto.com/hangtiangazi/1669870