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

THE NAMES CLASS IS BELOW AND WORKS JUST FINE import java.io.*; import java.util.

ID: 3684549 • Letter: T

Question

THE NAMES CLASS IS BELOW AND WORKS JUST FINE

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

public class Hw5Number2 implements Comparable{

// Declare the required variables
private String lastName;
private String firstName;
  
// constructor
public Hw5Number2(String fstnm, String lstnm){
lastName = lstnm;
firstName = fstnm;
}

// method to get the last name
public String getlastname(){
return lastName;
}
// method to return the name
public String toString(){
return lastName+", "+firstName;
}

@Override
public int compareTo(Object other){

return getlastname().compareTo(((Hw5Number2)other).getlastname());
}

// main method
public static void main(String[] args){
ArrayList<Hw5Number2> arraylist = new ArrayList<Hw5Number2>();
arraylist.add(new Hw5Number2("Ken", "Smith"));
arraylist.add(new Hw5Number2("John", "Doe"));
arraylist.add(new Hw5Number2("Larry", "Last"));
  
// loop iteration
for(Hw5Number2 name: arraylist){
System.out.println(name);
}
  
// sorting
Collections.sort(arraylist);

System.out.println("---------- After Sorting ----------");
  
for(Hw5Number2 name: arraylist){
System.out.println(name);
}
}
}

Explanation / Answer

import java.io.*;
import java.util.*;
public class Hw5Number2 implements Comparable{
// Declare the required variables
private String lastName;
private String firstName;
  
// constructor
public Hw5Number2(String fstnm, String lstnm){
lastName = lstnm;
firstName = fstnm;
}
// method to get the last name
public String getlastname(){
return lastName;
}
// method to return the name
public String toString(){
return lastName+", "+firstName;
}
@Override
public int compareTo(Object other){
return getlastname().compareTo(((Hw5Number2)other).getlastname());
}
// overriding equals methods
@Override
public boolean equals(Object obj) {
   Hw5Number2 temp = (Hw5Number2)obj;
   if(this.firstName.equalsIgnoreCase(temp.firstName) && this.lastName.equalsIgnoreCase(temp.lastName))
       return true;
   return false;
}
// main method
public static void main(String[] args){
ArrayList<Hw5Number2> arraylist = new ArrayList<Hw5Number2>();
arraylist.add(new Hw5Number2("Ken", "Smith"));
arraylist.add(new Hw5Number2("John", "Doe"));
arraylist.add(new Hw5Number2("Larry", "Last"));
  
// loop iteration
for(Hw5Number2 name: arraylist){
System.out.println(name);
}
  
// sorting
Collections.sort(arraylist);
System.out.println("---------- After Sorting ----------");
  
// using equals method
Hw5Number2 name1 = new Hw5Number2("John", "Doe");
System.out.println("contains(name1): "+arraylist.contains(name1));
  
for(Hw5Number2 name: arraylist){
System.out.println(name);
}
}
}

/*

Output:

Smith, Ken
Doe, John
Last, Larry
---------- After Sorting ----------
contains(name1): true
Doe, John
Last, Larry
Smith, Ken

*/