Java - "Ассоциативный" массив

Как таковых ассоциативных массивов в Java нет, но есть такая вот конструкция:

Map< String, String > map = new HashMap< String, String >();
map.put("name", "demo");
map.put("fname", "fdemo");
// и так далее 

map.get("name"); // пример извлечения результата - получим слово "demo"

Проверить, что элемент существует

Если в качестве значения вы не храните null, то вполне можно использовать такой вот код:

Foo value = map.get(key); // пытаемся обратиться по ключу
if (value != null) { // проверяем  - не получили ли мы null
    ... // получили что-то другое - значит значение есть! =)
} else {
    // такого значения нет
}

Если же вы всё же храните null - то можно начать с той же проверки, а в случае, если получен null - дополнительно проверить ключ:

Foo value = map.get(key);
if (value != null) {
    ... // есть определённое значение по данному ключу  -всё нормально
} else {
    // получили null - теперь уточним значение ключа (есть ли вообще такой ключ)
    if (map.containsKey(key)) {
       // ключ есть, но значение по нему = null
    } else {
       // такого ключа нет! 
    }
}

Примитивные (простые) типы и коллекция

Обратите внимание, что следующая строка "работать" не будет:

	Map< String, int > map = new HashMap < String, int >(); 

Дело в том, что простые типы в коллекции использовать нельзя - ключ или значение, обязательно должны быть "объектного" типа, в нашем же случае ситуацию можно поправить таким образом:

	Map< String, Integer > map = new HashMap < String, Integer >();