java中 TreeSet类用法

/*
TreeSet的性能比 HashSet差但是我们  在需要排序的时候可以用TreeSet  因为他是
自然排序也就是 升序
下面是TreeSet实现代码 
这个类也似只能通过迭代器迭代元素
*/
import java.util.*;
class Test

   private static  TreeSet<Point> ts=new TreeSet<Point>() ;  //静态变量   jdk1.5以后 引入范式
   public static void main(String []args)
  {
   ts.add(new Point(2,3));
   ts.add(new Point(1,7));
   ts.add(new Point(8,8));
   ts.add(new Point(1,3));
   ts.add(new Point(0,4));
   Iterator i=ts.iterator();  //迭代器
   while(i.hasNext())
   {
    System.out.println(i.next());
   }
  }
}

class  Point implements Comparable   //实现 Comparable 接口  插入到TreeSet集合中的必须实现的
{
 int x,y;
 Point(int x,int y)
 {
  this.x=x;
  this.y=y;
 }
 Point()
 {
  this.x=this.y=0;
 }
 public int compareTo(Object o)  //实现 compareTo函数
 {
  Point p=(Point)o;
  int num=x>p.x?1:(x==p.x?0:-1) ;
  if(num==0)
    return y>p.y?1:(y==p.y?0:-1);
  return num ;
  
 }
 public String toString()
 {
  return "x="+x+",y="+y;
 }

}

posted on 2011-08-09 12:08  风尘女子  阅读(257)  评论(0编辑  收藏  举报

导航