import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Main {
public static void main(String[] args) {
String arr[] = {"abcd", "java", "dcba", "ajav", "xyz", "epam", "pame", "aepm"};
Map<String, Long> occurrences = Stream.of(arr)
.map(s -> s.split(""))
.map(stringArray -> {
Arrays.sort(stringArray);
return stringArray;
})
.map(stringArray -> String.join("", stringArray))
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println("Ocurrences found:" + occurrences);
}
}