新款1.4t的奔腾b50怎样:java语言问题,有个函数看不懂!帮帮小弟关于哈夫曼的

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 10:04:23
private static class Huffman implements Comparable
{
Bintree tree;
float weight;
private Hiffman(Bintree tt,float ww)
{tree=tt;
weight=ww;
}
public int compareTo(Object x)
{
float xw=((Huffman) x).weight;//小弟我这句实在看不懂
if(weight<xw)return-1;
if(weight==xw)return0;
return1;
}
}

在其他类中实现的是对Huffman数组中对象进行排序,而且用到了sort方法;所以该类实现了Comparable接口,就一定要重写compareTo方法,由于该方法内的参数x是Object类的对象,所以在实现时要强制类型转换x为你所使用的类(Huffman)类型,这样,x就转换为本类的对象了,再由本类对象x调用weight赋值给xw,而if(weight<xw)中的weight是其Huffman数组构造第一个对象后传递过来的参数,用compareTo方法正是用该参数与其他数组对象进行比较。进而得出排序结果