Existe isso em Java mas de forma escondida e não com essa sintaxe. É que isso é conhecido nas linguagens que a usam (PHP, JavaScript, C#, C++) como “array associativo” e em Java é conhecido por “Map”. Exemplo:
Map<String,Integer> sacola = new TreeMap<String,Integer>();
String fruta;
sacola.put ("banana", 5); // equivale a sacola["banana"] = 5 nessas linguagens
sacola.put ("chuchu", 8); // equivale a sacola["chuchu"] = 8
fruta = sacola.get("banana")); // equivale a fruta = sacola["banana"] nessas linguagens