如何在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比较不同的对象值 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("

我用java编写了以下代码,它通过arraylist RList计算所有收入元素的总和,然后取平均值。它用来计算最大值和最小值的另一个函数。如何使用java comparator类完成相同的操作

类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;
        }
    }