1  public class HuffmanDemo
  2  {
  3     public static void main(String[] args)
  4     {
  5        Map<Character, Integer> frequencyMap = new HashMap<Character, Integer>();
  6        frequencyMap.put('A', 2089);
  7        frequencyMap.put('E', 576);
  8        frequencyMap.put('H', 357);
  9        frequencyMap.put('I', 671);
 10        frequencyMap.put('K', 849);
 11        frequencyMap.put('L', 354);
 12        frequencyMap.put('M', 259);
 13        frequencyMap.put('N', 660);
 14        frequencyMap.put('O', 844);
 15        frequencyMap.put('P', 239);
 16        frequencyMap.put('U', 472);
 17        frequencyMap.put('W', 74);
 18        frequencyMap.put('\'', 541);
 19        HuffmanTree tree = new HuffmanTree(frequencyMap);
 20  
 21        Map<Character, String> encodingMap = tree.getEncodingMap();
 22        String encoded = encode("ALOHA", encodingMap);
 23        System.out.println(encoded);
 24        String decoded = tree.decode(encoded);
 25        System.out.println(decoded);      
 26     }
 27  
 28     public static String encode(String toEncode, Map<Character, String> encodingMap)
 29     {
 30        String result = "";
 31        for (int i = 0; i < toEncode.length(); i++)
 32        {
 33           char ch = toEncode.charAt(i);
 34           result = result + encodingMap.get(ch);
 35        }
 36        return result;
 37     }
 38  }