fork(1) download
  1. import java.util.Map;
  2. import java.util.Objects;
  3. import java.util.function.Function;
  4. import java.util.stream.Collectors;
  5. import java.util.stream.IntStream;
  6. import java.util.stream.Stream;
  7.  
  8. class Scratch {
  9.  
  10. public static void main(String[] args) {
  11. if (areAnagrams("aab", "aac")) {
  12. System.out.println("anagram");
  13. } else {
  14. System.out.println("not anagram");
  15. }
  16. }
  17.  
  18. private static boolean areAnagrams(String s, String t) {
  19. return Objects.equals(
  20. calculateCharacterFrequencyMap(s),
  21. calculateCharacterFrequencyMap(t));
  22. }
  23.  
  24. private static Map<Character, Integer> calculateCharacterFrequencyMap(String s) {
  25. return toCharStream(s)
  26. .collect(Collectors.toMap(
  27. Function.identity(),
  28. c -> 1,
  29. Integer::sum));
  30. }
  31.  
  32. private static Stream<Character> toCharStream(String s) {
  33. final char[] chars = s.toCharArray();
  34. return IntStream.range(0, chars.length)
  35. .mapToObj(i -> chars[i]);
  36. }
  37. }
Success #stdin #stdout 0.08s 48864KB
stdin
Standard input is empty
stdout
not anagram