title: Sort objects in Java with case sensitive String key
body: <p>I have a requirement to sort objects(Zone) with their names(Zone Name : String) considering the case. I tried this with Java Comparator interface.</p>
  
  <pre><code>class NameComparator implements Comparator&lt;Zone&gt; {
      public int compare(Zone z1, Zone z2) {
          return z1.getZoneName().compareTo(z2.getZoneName());
     }
  }
  </code></pre>
  
  <p>But this Comparator only sort lexicographically.</p>
  
  <p>Ex : Required order for the zone names.</p>
  
  <blockquote>
    <p>['Zone AAa3','Zone aaa3','Zone BBB7','Zone BBb7','Zone bbb7']</p>
  </blockquote>
  
  <p>Current Output : </p>
  
  <blockquote>
    <p>['Zone AAa3','Zone BBB7','Zone BBb7','Zone aaa3','Zone bbb7']</p>
  </blockquote>
  
  <p>Is there any way to achieve this, other than writing a raw object sorting method?</p>