java 自定义类型比较大小
来源:互联网 发布:彩票开奖数据api 编辑:程序博客网 时间:2024/05/19 11:19
如果是自己写了一个class 作数据类型需要比较大小则需implements Comparable 接口, 并在class 中重写compareTo()方法,例如:
public class A implements Comparable<A>{
……
public A(double s){score=s;}
private double score;
/**
* @return the score
*/
public double getScore() {
return score;
}
………
@Override
public int compareTo(A o) {
int compare = 0;
double result = this.getScore()-o.getScore();
if (result > 0){
compare =1;
}
else if(result <1){
compare = -1;
}
return compare;
}
………………
}
然后在其他地方,就可以直接比较类型为A的对象大小或者排序:
/**
* @param args
*/
public static void main(String[] args) {
List<A> test= new ArrayList<A>();
test.add(new A(2.1));
test.add(new A(33.1));
test.add(new A(2.189));
Collections.sort(test);
}
==============================================
也可重写已有的比较方法,新的class implements Comparator,并重写compare() 方法。下面的例子重写了整数比较方法,从而直接将PriorityQueue 变为maxHeap最大堆(其默认实现是minHeap最小堆):
public class MaxHeapComparator implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
if (o1 < o2) return 1;
else if (o1 == o2) return 0;
else return -1;
}
}
在其他程序里用最大堆:
maxHeapComparator = new MaxHeapComparator();
PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(20, maxHeapComparator);
或者从大到小排序:
int[] testArray= {2,4,6,1,76,4,99};
Arrays.sort(testArray, maxHeapComparator);
- java 自定义类型比较大小
- List泛型自定义类型排序和大小比较 java版
- java比较两个日期类型大小
- Java String类型时间比较大小
- java中Long类型和long类型的大小比较
- 日期类型大小比较
- BigDecimal类型比较大小
- BigDecimal类型比较大小
- BigDecimal类型比较大小
- BigDecimal类型比较大小
- Long类型比较大小
- BigDecimal类型比较大小
- float类型比较大小
- 在JAVA中怎么比较Double类型数据的大小?
- JAVA DATE类型数据比较判断大小方法
- 在JAVA中怎么比较Double类型数据的大小?
- java中比较两个double类型的数据大小
- 关于java中double类型的比较大小的问题
- 云计算(cloud computing)让每个单位以及个人都有可能以低成本接触到顶尖 IT 技术
- 在oracle下如何创建database link全面总结
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android的TextView/EditText使用CharacterStyle&SpannableString来处理图片显示、字体样式、超链接等
- 在应用中使用Ext Loader
- java 自定义类型比较大小
- C#基于google earth的二次开发
- oracle split函数(自定义)
- C# 中panel的mousewheel事件触发
- 转:Java线程总结
- android程序调试和访问网络进行下载
- Android TextView当中设置超链接、颜色、字体
- UML用例图
- 用例图