Best data Structure for storing a phone keypad format
It's not possible to say if this method is a good or useful abstraction without context which you have not provided. Accordingly, this review is of the method by itself.
My primary concern with this method is that it is hard to read and understand. Complexity leads to bugs, and should be avoided where possible. This method is doing a simple thing in a complex way. Readers have to worry about a loop and three branches instead of a simple, static mapping.
keypadDemo() should return the Map, not print it. Let the client decide what to do with it.
ax and hm are very poor variable names. Variable names should clearly indicate the value they hold.
Using an integer to magically act as characters makes the method harder to read.
Use the most appropriate abstraction. Map&lt;Integer, List&lt;Character&gt;&gt; would be preferable. The type of list is an implementation detail.
A loop is the wrong structure to build this map. The code is hard to read, which means it's easy to introduce bugs and hard to notice them.
Short-circuiting the loop might make it easier to read.
Empty lists would be better than using null. It's easier to write code that correctly handles an empty list than to special-case null checks.
In idiomatic Java, there is whitespace before a { and after a }. There is whitespace after a for, if, etc.
If I were to need this method in my own code, it would look like: (untested)
/**
 * Generates a mapping from digits on a telephone keypad to the letters for 
 * digit. The letters are in alphabetical order. Digits with no letters
 * map to an empty list. 
 */
public static Map&lt;Integer, List&lt;Character&gt;&gt; digitsToCharacters() {
    Map&lt;Integer, List&lt;Character&gt;&gt; digitsToCharacters = new HashMap&lt;&gt;();
    digitsToCharacters.put(0, Arrays.asList());
    digitsToCharacters.put(1, Arrays.asList());
    digitsToCharacters.put(2, Arrays.asList('a', 'b', 'c'));
    digitsToCharacters.put(3, Arrays.asList('d', 'e', 'f'));
    digitsToCharacters.put(4, Arrays.asList('g', 'h', 'i'));
    digitsToCharacters.put(5, Arrays.asList('j', 'k', 'l'));
    digitsToCharacters.put(6, Arrays.asList('m', 'n', 'o'));
    digitsToCharacters.put(7, Arrays.asList('p', 'q', 'r', 's'));
    digitsToCharacters.put(8, Arrays.asList('t', 'u', 'v'));
    digitsToCharacters.put(9, Arrays.asList('w', 'x', 'y', 'z'));
    return Collections.unmodifiableMap(digitsToCharacters);
}