title: Count occurrences in string and output sorted result by ocuurence_count desc, name
body: <p>Given a string:</p>
  <pre><code>String str = &quot;Charlie Jennifer Charlie Bob Charlie Charlie Bob Jennifer Alice Alice&quot;;
  </code></pre>
  <p>Need to count name occurrences in the given string and output sorted result by occurrence count (desc), then by name.
  Here is my solution:</p>
  <pre><code>Arrays.stream(str.split(&quot; &quot;))
          .collect(groupingBy(identity(), counting())).entrySet().stream()
          .sorted(Map.Entry.&lt;String, Long&gt;comparingByValue()
                  .reversed()
                  .thenComparing(Map.Entry.comparingByKey()))
          .forEach(System.out::println);
  </code></pre>
  <p>My question is: do you know more elegant solution using Java Stream API ?</p>