bash-3.2$ cat Profile.java
import java.util.*;

class Profile {
  public static void main(String[] args) {
    String word = args[0];
    Hashtable<Character, Integer> h = new Hashtable<Character, Integer>();
    for (int i = 0; i < word.length(); i++)
      if (h.containsKey(word.charAt(i)))
        h.put(word.charAt(i), h.get(word.charAt(i)) + 1);
      else h.put(word.charAt(i), 1);
    ArrayList<Pair> p = new ArrayList<Pair>();
    for (Enumeration<Character> keys = h.keys(); keys.hasMoreElements(); ) {
      Character key = keys.nextElement();
      p.add(new Pair(key, h.get(key)));
    }
    System.out.println( p );
    Collections.sort( p );
    System.out.println( p );
  }
}

class Pair implements Comparable<Pair> {
  char c;
  int count;
  Pair(char c, int count) {
    this.c = c;
    this.count = count;
  }
  public int compareTo(Pair another) {
    if (this.count > another.count) return -1;
    else if (this.count < another.count) return 1;
    else return (c + "").compareTo(another.c + "");
  }
  public String toString() {
    return c + "=" + count;
  }
}

bash-3.2$ javac Profile.java
bash-3.2$ java Profile banana
[b=1, a=3, n=2]
[a=3, n=2, b=1]
bash-3.2$ java Profile whatever
[a=1, w=1, v=1, t=1, h=1, r=1, e=2]
[e=2, a=1, h=1, r=1, t=1, v=1, w=1]
bash-3.2$ java Profile abracadabra
[b=2, a=5, r=2, d=1, c=1]
[a=5, b=2, r=2, c=1, d=1]
bash-3.2$