Ответ 1
Лучшее, что вы можете сделать, это создать HashMap из HashMaps. Например:
Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>();
// not set up strings pointing to the maps.
m.put("foo", new HashMap<String,String>());
Как в PHP:
<?php
$a = 'hello';
$$a = 'world';
echo $hello;
// Prints out "world"
?>
Мне нужно создать неизвестное количество HashMaps на лету (каждое из которых помещено в arraylist). Пожалуйста, скажите, есть ли более простой или более Java-ориентированный способ. Спасибо.
Лучшее, что вы можете сделать, это создать HashMap из HashMaps. Например:
Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>();
// not set up strings pointing to the maps.
m.put("foo", new HashMap<String,String>());
Java не поддерживает то, что вы только что сделали в PHP.
Чтобы сделать что-то подобное, вы должны просто сделать List<Map<>>
и сохранить там HashMap
. Вы можете использовать HashMap
для HashMaps
.
"переменная переменная" в Java - это массив или список или некоторая структура данных с разным размером.
Нет. Вы бы сделали что-то вроде
List<Map<String,String> myMaps = new ArrayList<Map<String,String>>()
а затем в вашем цикле вы сделаете следующее:
Map<String,String> newMap = new Hashtable<String,String>();
//do stuff with newMap
myMaps.add(newMap);
Его не вызываемые переменные в java.
Его называют отражением.
Посмотрите на java.lang.reflect документы пакета для деталей.
Вы можете делать все такие вещи, используя отражение.
Bestoes,
JRH.
Вы не можете!
Нет прямого пути к этому. Массивы, отражение и т.д. Могут помочь.