TreeSet的详细用法,看完这个程序你就懂了
TreeSet可以确保集合元素处于排序状态
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
TreeSet nums=new TreeSet();
nums.add(5);
nums.add(2);
nums.add(3);
nums.add(8);
//输出集合元素,可以看到集合元素已经处于排序状态,输出【2,3,5,8】
System.out.println(nums);
//输出集合里的第一个元素2
System.out.println(nums.first());
//输出集合里最后一个元素
System.out.println(nums.last());
//输出小于4的集合,不包含4,输出【2,3】
System.out.println(nums.headSet(4));
//输出大于5的集合,如果set集合中有5,子集中还应该有5,输出【5,8】
System.out.println(nums.tailSet(5));
//输出大于2,小于5的子集,包括2,不包括5,输出集合【2,3】
System.out.println(nums.subSet(2,5));
}
}
TreeSet集合元素的高级用法,下面这个问题有点难度,欢迎大家参考
import java.util.TreeSet;
public class TreeSetTest2 {
public static void main(String[] args) {
TreeSet set=new TreeSet();
Z z1=new Z(6);
set.add(z1);
//第二次添加同一个对象,输出true,则表示添加成功
System.out.println(set.add(z1));
System.out.println(set);
((Z)(set.first())).age=7;
System.out.println(((Z)(set.last())).age);
System.out.println(((Z)(set.first())).age);
}
}
class Z implements Comparable{
int age;
public Z(int age){
this.age=age;
}
//重写equals()方法,总是返回true
public boolean equals(Object obj){
return true;
}
//重写compareTo(Object obj)方法,总是返回1
public int compareTo(Object obj){
return 1;
}
}