1)Sort an array list of strings by increasing length. 2).Sort an array list of s
ID: 3689537 • Letter: 1
Question
1)Sort an array list of strings by increasing length.
2).Sort an array list of strings by increasing length, and so that strings of the same length are sorted lexicographically.
I'm stuck on getting my code to do number 1 sort the array list of strings by increasing length
Code in java
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
1) import java.util.*;
public class Sort
{
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, new Comparator<String>() {
@Override
public int compare(String a, String b)
{
if(a.length()< b.length())
{
return -1;
}
else
if(a.length() == b.length())
{
return 0;
}
else
{
return 1;
}
}
});
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("c");
b.add("ne");
//Print arraylist2 before sort
System.out.print(b);
System.out.print(" ");
Collections.sort(b, new Comparator<String>() {
@Override
public int compare(String a, String b)
{
if(a.length()< b.length())
{
return -1;
}
else
if(a.length() == b.length())
{
return 0;
}
else
{
return 1;
}
}
});
//Print arraylist2 after sort
System.out.println(" ");
System.out.println("Arraylist2 after sort: ");
System.out.println(b.toString());
}
}
2)
import java.util.*;
public class Sort
{
public static void main(String [] args)
{
System.out.println("ArrayList1 before sort: ");
ArrayList<String> a = new ArrayList<>();
a.add("kind");
a.add("aift");
a.add("rift");
a.add("gymo");
a.add("onno");
//Print arraylist before sort
System.out.print(a);
System.out.println(" ");
//Print arraylist after sort
System.out.println("ArrayList1 after sort:");
Collections.sort(a, new Comparator<String>() {
@Override
public int compare(String a, String b)
{
if(a.length()< b.length())
{
return -1;
}
else
if(a.length() == b.length())
{
return a.compareTo(b);
}
else
{
return 1;
}
}
});
System.out.println(a.toString());
System.out.println("Arraylist 2 before sort: ");
ArrayList<String> b = new ArrayList<>();
b.add("bate");
b.add("page");
b.add("corn");
b.add("next");
//Print arraylist2 before sort
System.out.print(b);
System.out.print(" ");
Collections.sort(b, new Comparator<String>() {
@Override
public int compare(String a, String b)
{
if(a.length()< b.length())
{
return -1;
}
else
if(a.length() == b.length())
{
return a.compareTo(b);
}
else
{
return 1;
}
}
});
//Print arraylist2 after sort
System.out.println(" ");
System.out.println("Arraylist2 after sort: ");
System.out.println(b.toString());
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.