//TestArraySorting.java

import java.util.Arrays;
import java.util.Scanner;

public class TestArraySorting
{
    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);

        String[] stringArray = {"Harry", "Carla", "Al", "Rob", "Dave"};

        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====1Press Enter to continue ... ");
        keyboard.nextLine();
        System.out.println();

        Arrays.sort(stringArray);
        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====2Press Enter to continue ... ");
        keyboard.nextLine();
        System.out.println();

        Arrays.sort(stringArray, (s1, s2) -> s1.length() - s2.length());
        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====3Press Enter to continue ... ");
        keyboard.nextLine();
        System.out.println();

        Arrays.sort(stringArray, (s1, s2) -> s1.compareTo(s2));
        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====4Press Enter to continue ... ");
        keyboard.nextLine();
        System.out.println();

        Arrays.sort(stringArray, (s1, s2) -> s2.compareTo(s1));
        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====5Press Enter to continue ... ");
        keyboard.nextLine();
        System.out.println();

        Arrays.sort(stringArray, (s1, s2) -> s1.substring(s1.length()-1).
                                             compareTo(s2.substring(s2.length()-1)));
        for (String s : stringArray) System.out.print(s + " ");
        System.out.print("\n=====6Press Enter to continue ... ");
        keyboard.nextLine();
    }
}
