public MathList<T> fillColection(String vstup) {
        /**
         * Metoda rozloží vstup String do kolekce ArrayList, rozlišuje čísla a
         * "ostatní znaky".
         */
        boolean cislo = false;
        boolean promenna = false;
        MathList list = new MathList();
        String cast = "";
        /*Cyklus projde celý string, rozlišuje první a další znaky v řetězci.
         */
        for (int i = 0; vstup.length() > i; i++) {
            if (cislo) {
                cast += vstup.charAt(i);
            } else {
                if (promenna) {
                    cast += vstup.charAt(i);
                } else {
                    cast = Character.toString(vstup.charAt(i));
                }
            }
            /* Jestliže je aktuální řetězec číslo, kontroluje následující znak, zdali není také číslo. 
             * Z důvodu vícemístných čísel.
             */
            if ((i + 1 != vstup.length()) && ((Character.isDigit(vstup.charAt(i))) || vstup.charAt(i) == '.') && ((Character.isDigit(vstup.charAt(i + 1))) || vstup.charAt(i + 1) == '.')) {
                cislo = true;
            } else {
                if ((i + 1 != vstup.length()) && (Character.isAlphabetic(vstup.charAt(i))) && (Character.isAlphabetic(vstup.charAt(i + 1))) && ((Character.isDigit(vstup.charAt(i))) || vstup.charAt(i) == '.') == false && ((Character.isDigit(vstup.charAt(i + 1))) || vstup.charAt(i) == '.') == false) {
                    promenna = true;
                } else {
                    promenna = false;
                    list.add(cast);
                    cast = "";
                }
            }
        }
        this.addAll(list);
        return this;
    }