如何在java中使用comparator比较不同的对象值 public void dataAnalytics() { 双和=0; 双i=0; 双尖塔=20; 双倍最大值=20; System.out.println(“农村地区的数据分析”); 用于(记录ee:RList) { sum=sum+Double.valueOf(ee.getIncome()); i++; if(ee.getAge()20) maxage=ee.getAge(); } System.out.println(“农村地区的平均收入为:$”+总和/i); System.out.println(“农村地区的最低年龄为:“+minage”); System.out.println(“农村地区的最大年龄为:“+maxage”); }
我用java编写了以下代码,它通过arraylist RList计算所有收入元素的总和,然后取平均值。它用来计算最大值和最小值的另一个函数。如何使用java comparator类完成相同的操作如何在java中使用comparator比较不同的对象值 public void dataAnalytics() { 双和=0; 双i=0; 双尖塔=20; 双倍最大值=20; System.out.println(“农村地区的数据分析”); 用于(记录ee:RList) { sum=sum+Double.valueOf(ee.getIncome()); i++; if(ee.getAge()20) maxage=ee.getAge(); } System.out.println(“农村地区的平均收入为:$”+总和/i); System.out.println(“农村地区的最低年龄为:“+minage”); System.out.println(“农村地区的最大年龄为:“+maxage”); },java,comparator,Java,Comparator,我用java编写了以下代码,它通过arraylist RList计算所有收入元素的总和,然后取平均值。它用来计算最大值和最小值的另一个函数。如何使用java comparator类完成相同的操作 类AGEComarator实现比较器{ public void dataAnalytics() { double sum=0; double i=0; double minage=20; double maxage=20; System.out.println("
类AGEComarator实现比较器{
public void dataAnalytics()
{
double sum=0;
double i=0;
double minage=20;
double maxage=20;
System.out.println("dataAnalytics for the Rural region");
for (Record ee :RList)
{
sum=sum+Double.valueOf(ee.getIncome());
i++;
if (ee.getAge()<20)
minage=ee.getAge();
if (ee.getAge()>20)
maxage=ee.getAge();
}
System.out.println("Average income for the Rural region is : $"+sum/i);
System.out.println("Min age for the Rural region is : "+minage);
System.out.println("Max age for the Rural region is : "+maxage);
}
公共整数比较(对象o1、对象o2){
int age1=((记录)o1.getAge();
int age2=((记录)o2).getAge();
如果(age1>age2){return 1;}
else如果(age1
公共类OrderComparator实现Comparator{
@凌驾
公共整数比较(b1级、b2级){
int i=b1.getCustType().compareTo(b2.getCustType());
如果(i!=0){
返回整数.compare(b1.getOrderID(),b2.getOrderID());
}
否则{
返回i;
}
}
如何使用comparator按特定单词进行比较-示例3:客户类型:“新手”、“常客”和
“VIP”comparator并非用于此,它所做的只是比较两个(自定义)对象是否相等
public int compare(对象o1,对象o2)
如果相等,则返回0;如果o1“大于”o2,则返回1;如果o2“小于”,则返回-1比o2。@scibuff他在试图找到最大值和最小值,比较器是完成这项任务的完美工具。是的,杰夫,你是怎么做到的?因为从我看到的所有例子来看,比较器只是比较两个对象。你不能做平均值,但可以做最小值/最大值,而且可以使它们通用。
class AgeComparator implements Comparator {
public int compare( Object o1, Object o2 ){
int age1 = ((Record)o1).getAge();
int age2 = ((Record)o2).getAge();
if ( age1 > age2 ){ return 1; }
else if ( age1 < age2 ){ return -1; }
return 0;
}
}
public void dataAnalytics(){
Record[] records = rList.toArray();
Arrays.sort( records, new AgeComparator() );
int maxAge = (records[0]).getAge();
int minAge = (records[ records.length - 1]).getAge();
System.out.println("Min age for the Rural region is : " + minAge );
System.out.println("Max age for the Rural region is : " + maxAge );
}
public class OrderComparator implements Comparator<Order> {
@Override
public int compare(Order b1, Order b2) {
int i = b1.getCusType().compareTo(b2.getCusType());
if(i!=0){
return Integer.compare(b1.getOrderID(), b2.getOrderID());
}
else{
return i;
}
}