Map map = new HashMap();
Hashtable ht = new Hashtable();
Оба класса могут быть найдены от java.util пакета. Различие между этими 2 объяснено в следующей записи jGuru FAQ.
Можно использовать двойные фигурные скобки для установки данных. Вы все еще звоните, добавляют или помещают, но это менее ужасно:
private static final Hashtable<String,Integer> MYHASH = new Hashtable<String,Integer>() {{
put("foo", 1);
put("bar", 256);
put("data", 3);
put("moredata", 27);
put("hello", 32);
put("world", 65536);
}};
Также не забывайте, что и Карта и Хеш-таблица универсальны в Java 5 и (как в любом другом классе в платформе Наборов).
Map<String, Integer> numbers = new HashMap<String, Integer>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
Integer one = numbers.get("one");
Assert.assertEquals(1, one);
И есть ли способ заполнить таблицу со списком ключа-> пары значения, индивидуально не называя добавить метод на объекте для каждой пары?
Одна проблема с Вашим вопросом состоит в том, что Вы не упоминаете то, в чем то, что формирует Ваши данные, находится для начала. Если Ваш список пар, оказалось, был списком Карты. Запись возражает, что это было бы довольно легко.
Только для вывода этого, существует (очень порочил), класс, названный java.util. Свойства, который является расширением Хеш-таблицы. Это ожидает только Строковые ключи и оценивает и позволяет Вам загрузить и хранить данные с помощью файлов или потоков. Формат файла, который это читает и записи, следующие:
key1=value1
key2=value2
Я не знаю, является ли это тем, что Вы ищете, но существуют ситуации, где это может быть полезно.
Что сказал Edmund.
Что касается не вызова .add все время, нет, не идиоматически. Были бы различные взломы (хранящий его в массиве и затем цикличном выполнении), что Вы могли сделать, если бы Вы действительно хотели, но я не рекомендовал бы это.