title: find the most and least used string in an ArrayList
body: <p>I am having trouble finding the most and least used String in an ArrayList. The program should go through a file of Strings and count how many multiple strings there are in the list. Then print the least and most used name in the list. The  ArrayList Part is finished. It is just finding the most and least common name I am having trouble with. I have no idea how to even start with it. This is what I have found online but it is not working. </p>
  
  <pre><code>Map&lt;String, Integer&gt; dogNames = new HashMap&lt;&gt;();
  for (Dog dog : dogs) {
      Integer value = dogNames.get(dog);
      if (value == null) {
          value = 0;
      }
      value++;
      dogNames.put(dog.getName(), value);
  }
  
  int leastCommon = Integer.MAX_VALUE;
  String leastCommonName = null;
  for (String name : dogNames.keySet()) {
      int value = dogNames.get(name);
      if (value &lt; leastCommon) {
          leastCommon = value;
          leastCommonName = name;
      }
  }
  
  System.out.println("Least common (" + leastCommon + ") is " + leastCommonName);
  </code></pre>