Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

You are given a CollegeWrestler class. A CollegeWrestler has a String name and a

ID: 3815048 • Letter: Y

Question

You are given a CollegeWrestler class. A CollegeWrestler has a String name and a weight as a double. We need to order wrestlers in two ways: alphabetically by name and by weight. We can not do this with the Comparable interface.

Create two Comparator objects, one to handle each type of ordering. You can do this several different ways. If you write separate classes, call then CollegeWrestlerComparatorByWeight and CollegeWrestlerComparatorByName. If you use inner classes or anonymous inner classes in ComparatorRunner, just leave the text area for the Comparator files empty.

Then complete the ComparatorRunner class. It defines an ArrayList of CollegeWrestlers.

Sort by weight and then loop through the ArrayList printing the weight and then the name of each CollegeWrestlers (use Collections.sort)

Sort by name and then loop through the ArrayList printing the name and then the weight of each CollegeWrestlers.(use Collections.sort).

Complete the following files:

******CollegeWrestlerComparatorByName.java*******

******CollegeWrestlerComparatorByWeight.java********

Use the following file:

***************ComparatorRunner.java***************

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;


public class ComparatorRunner
{

public static void main(String[] args)
{
ArrayList<CollegeWrestler> wrestlers = new ArrayList<CollegeWrestler>();
wrestlers.add(new CollegeWrestler("Collin", 175.5));
wrestlers.add(new CollegeWrestler("Dong", 124.5));
wrestlers.add(new CollegeWrestler("Jose", 140.9));
wrestlers.add(new CollegeWrestler("Enrique", 290));
  
  
}

}

**************CollegeWrestler.java*******************

Explanation / Answer

CollegeWrestlerComparatorByName.java

import java.util.Comparator;


public class CollegeWrestlerComparatorByName implements Comparator<CollegeWrestler>{

   public int compare(CollegeWrestler o1, CollegeWrestler o2) {
       return o1.getName().compareTo(o2.getName());
   }

}

CollegeWrestlerComparatorByWeight.java

import java.util.Comparator;


public class CollegeWrestlerComparatorByWeight implements Comparator<CollegeWrestler>{

   public int compare(CollegeWrestler o1, CollegeWrestler o2) {
       return (int)(o1.getWeight() - o2.getWeight());
   }

}

CollegeWrestler.java

public class CollegeWrestler
{
private String name;
private double weight;

public CollegeWrestler( String name, double weight)
{
this.name = name;
this.weight = weight;
}

public double getWeight()
{
return weight;   
}

public String getName()
{
return name;
}
}

ComparatorRunner.java

import java.util.ArrayList;
import java.util.Collections;

public class ComparatorRunner
{
public static void main(String[] args)
{
ArrayList<CollegeWrestler> wrestlers = new ArrayList<CollegeWrestler>();
wrestlers.add(new CollegeWrestler("Collin", 175.5));
wrestlers.add(new CollegeWrestler("Dong", 124.5));
wrestlers.add(new CollegeWrestler("Jose", 140.9));
wrestlers.add(new CollegeWrestler("Enrique", 290));
Collections.sort(wrestlers, new CollegeWrestlerComparatorByName());
for(CollegeWrestler wrestler: wrestlers) {
   System.out.println(wrestler.getName()+" "+wrestler.getWeight());
}
System.out.println("------------------------------------");
Collections.sort(wrestlers, new CollegeWrestlerComparatorByWeight());
for(CollegeWrestler wrestler: wrestlers) {
   System.out.println(wrestler.getName()+" "+wrestler.getWeight());
}
  
}
}

Output:

Collin 175.5
Dong 124.5
Enrique 290.0
Jose 140.9
------------------------------------
Dong 124.5
Jose 140.9
Collin 175.5
Enrique 290.0

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote