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

1)Sort an array list of strings by increasing length. In java code Heres what i

ID: 3689463 • Letter: 1

Question

1)Sort an array list of strings by increasing length. In java code

Heres what i have so far but I can't figure out the compare method

import java.util.*;

public class Sort implements Comparator<ArrayList>

{

public int compare(Arraylist a, ArrayList b)

{

if(a.length() < b.length())

{

return -1;

}

else

if(a.length() == b.length())

{

return 0;

}

else

{

return 2;

}

}

public static void main(String [] args)

{

System.out.println("ArrayList1 before sort: ");

ArrayList<String> a = new ArrayList<>();

a.add("kind");

a.add("lift");

a.add("gym");

a.add("on");

//Print arraylist before sort

System.out.print(a);

System.out.println(" ");

//Print arraylist after sort

System.out.println("ArrayList1 after sort:");

Collections.sort(a);

System.out.println(a.toString());

System.out.println("Arraylist 2 before sort: ");

ArrayList<String> b = new ArrayList<>();

b.add("bat");

b.add("page");

b.add("car");

b.add("new");

//Print arraylist2 before sort

System.out.print(b);

System.out.print(" ");

//Print arraylist2 after sort

System.out.println(" ");

System.out.println("Arraylist2 after sort: ");

Collections.sort(b);

System.out.println(b.toString());

}

}

Explanation / Answer

Hi, Highlighted areas are modifications. It is working fine now.

Sort.java


import java.util.*;
public class Sort implements Comparator<ArrayList>
{
public int compare(ArrayList a, ArrayList b)
{
if(a.size() < b.size())
{
return -1;
}
else
if(a.size() == b.size())
{
return 0;
}
else
{
return 2;
}
}
public static void main(String [] args)
{
System.out.println("ArrayList1 before sort: ");
ArrayList<String> a = new ArrayList<String>();
a.add("kind");
a.add("lift");
a.add("gym");
a.add("on");
//Print arraylist before sort
System.out.print(a);
System.out.println(" ");
//Print arraylist after sort
System.out.println("ArrayList1 after sort:");
Collections.sort(a);
System.out.println(a.toString());
System.out.println("Arraylist 2 before sort: ");
ArrayList<String> b = new ArrayList<String>();
b.add("bat");
b.add("page");
b.add("car");
b.add("new");
//Print arraylist2 before sort
System.out.print(b);
System.out.print(" ");
//Print arraylist2 after sort
System.out.println(" ");
System.out.println("Arraylist2 after sort: ");
Collections.sort(b);
System.out.println(b.toString());
}

}

Output:

ArrayList1 before sort:
[kind, lift, gym, on]
ArrayList1 after sort:
[gym, kind, lift, on]
Arraylist 2 before sort:
[bat, page, car, new]
Arraylist2 after sort:
[bat, car, new, page]