How to sort a String ArrayList using insertion sort method i
How to sort a String ArrayList using insertion sort method into an initially empty list. Do not insert duplicate words. Java Im having trouble understanding how to make a method that takes an arraylist and sorts it this way
Solution
StringInsertionSort.java
import java.util.ArrayList;
 public class StringInsertionSort {
  
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add(\"Suresh\");
        list.add(\"Asnhu\");
        list.add(\"Sekhar\");
        list.add(\"Revathi\");
        list.add(\"Naresh\");
        System.out.println(\"List elements before sort: \"+list);
        insertionSort(list);
        System.out.println(\"List elements after sort: \"+list);
    }
    public static void insertionSort(ArrayList<String> list){
        int n = list.size();
 for (int j = 1; j < n; j++) {
 String key = list.get(j);
 int i = j-1;
 while ( (i > -1) && ( list.get(i).compareTo(key) > 0 ) ) {
    list.set(i+1, list.get(i));
 i--;
 }
 list.set(i+1, key);
 }
    }
}
Output:
List elements before sort: [Suresh, Asnhu, Sekhar, Revathi, Naresh]
 List elements after sort: [Asnhu, Naresh, Revathi, Sekhar, Suresh]

