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

Java will be the programming language Assume a class named Tag that contains the

ID: 3924735 • Letter: J

Question

Java will be the programming language

Assume a class named Tag that contains the tags associated with a digitized audio file. Two of the fields in the Tag class are track and album; both fields are Strings. The class also defines two accessory (getter) methods: getTrack() and getAlbum(). Write a single Comparator compare method that orders the audio files alphabetically by album and alphabetically by track within each album. For example: album a, track a album a, track b album a, track c album b, track a album b, track b album b, track c

Explanation / Answer

Hi, Please find my code.

I have implemented Tag, TagComparator and TagTest class:

Please let me know in case of any issue.

########### Tag.java ################

public class Tag{

  

// instance variables

   private String track;

   private String album;

  

// constructor

   public Tag(String album, String track){

       this.album = album;

       this.track = track;

   }

  

// getter method

   public String getTrack(){

       return track;

   }

  

   public String getAlbum(){

       return album;

   }

  

}

########### TagComparator.java ###############

import java.util.Comparator;

public class TagComparator implements Comparator<Tag> {

  

// overriding compare method

       @Override

       public int compare(Tag track1, Tag track2) {

           // if bith track belongs to same album then sort based on track

           if(track1.getAlbum().equals(track2.getAlbum())){

               return track1.getTrack().compareTo(track2.getTrack());

           }else// if both belongs to different album, then sort based on album

               return track1.getAlbum().compareTo(track2.getAlbum());

       }

      

}

######## TagTest.java #############

import java.util.Arrays;

public class TagTest {

   public static void main(String[] args) {

      

       // creating Tag array

       Tag[] tags = {

               new Tag("a", "b"),

               new Tag("b", "a"),

               new Tag("a", "c"),

               new Tag("b", "c"),

               new Tag("c", "c"),

               new Tag("a", "a"),

               new Tag("b", "b")

       };

      

       // sorting

       Arrays.sort(tags, new TagComparator());

      

       // printing sorted tags

       for(Tag g: tags){

           System.out.println("album "+g.getAlbum()+", track "+g.getTrack());

       }

      

      

   }

}

/*

Sampe run:

album a, track a

album a, track b

album a, track c

album b, track a

album b, track b

album b, track c

album c, track c

*/

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