import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class SpotifyTest2 {
    public static void methodToImplement(List<String> list) {

        List<String> sortedCharactersList = list.stream()
                .map(s-> {
                    char tempArray[] = s.toCharArray();
                    Arrays.sort(tempArray);
                    return new String(tempArray);

                })
                .collect(Collectors.toList());

        System.out.println("List of sorted strings: " + sortedCharactersList);

        for(int i=0;i<sortedCharactersList.size();i++) {
            String stringToCheck = sortedCharactersList.get(i);
            sortedCharactersList.remove(i);
            if (!sortedCharactersList.isEmpty()) { //i.e. at least one more string exist
                if (!sortedCharactersList.contains(stringToCheck)) {
                    System.out.println("Misspelled: " + stringToCheck);
                } else {
                    sortedCharactersList.remove(sortedCharactersList.indexOf(stringToCheck));
                    System.out.println("Correct: " + stringToCheck);
                }

            }
        }

    }
    public static void main (String[] args) {
        //Task(?): Find out if the anagrams are available later on or if they are misspelled.
        List<String> okList = new ArrayList<>();
        okList.add("aangram");
        okList.add("code");
        okList.add("anagram");
        okList.add("doce");

        List<String> notOkList = new ArrayList<>();
        notOkList.add("aamgram"); //wrong!
        notOkList.add("code");
        notOkList.add("anagram");
        notOkList.add("doce");
        methodToImplement(notOkList);
    }
}
