package dynamic.common;

import java.util.ArrayList;

public class ArrayListHelper {

    public static ArrayList<String> FlattenArrayList(ArrayList<ArrayList<String>> list) {

        ArrayList<String> r = new ArrayList<String>();
        for (ArrayList<String> strings : list) {
            r.add(strings.get(0));
        }
        return r;

    }


    public static ArrayList<String> FlattenArrayListOfArray(ArrayList<String[]> list, int index) {

        ArrayList<String> r = new ArrayList<String>();
        for (String[] strings : list) {
            r.add(strings[index]);
        }
        return r;

    }

    public static ArrayList<Integer> ConvertStringToInteger(ArrayList<String> strings) {
        ArrayList<Integer> ints = new ArrayList<Integer>();
        for (String s : strings) {
            ints.add(Integer.parseInt(s));
        }
        return ints;
    }

    public static void SortBasedOnFirstElement(ArrayList<ArrayList<String>> als) {

        boolean changed = true;
        while (changed) {
            changed = false;

            int i = 0;
            while (i < als.size() - 1) {
                if (als.get(i).get(0).compareTo(als.get(i + 1).get(0)) > 0) {
                    ArrayList<String> removed = als.remove(i);
                    als.add(i + 1, removed);
                    changed = true;
                }
                i++;
            }

        }

    }


}
