Java Data Type How to - Turn String aaaabbbbddd into a4b4d3








Question

We would like to know how to turn String aaaabbbbddd into a4b4d3.

Answer

import java.util.Map;
import java.util.TreeMap;
//from  w  ww. j a v a 2 s . co  m
public class Main {

  public static void main(String[] args) {
    Map<Character, Integer> map = new TreeMap<>();

    String blah = "aaaabbbbddd";

    for (int i = 0; i < blah.length(); i++) {
      char c = blah.charAt(i);
      if (!map.containsKey(c)) {
        map.put(c, 1);
      } else {
        map.put(c, (map.get(c) + 1));
      }
    }

    for (Map.Entry<Character, Integer> entry : map.entrySet()) {
      System.out.print(entry.getKey() + "" + entry.getValue());
    }
  }
}