Как я создаю хеш-таблицу в Java?

Это должно сделать трюк:

pw_bytes.decode("utf-8")
9
задан nbro 7 May 2015 в 17:34
поделиться

6 ответов

Map map = new HashMap();
Hashtable ht = new Hashtable();

Оба класса могут быть найдены от java.util пакета. Различие между этими 2 объяснено в следующей записи jGuru FAQ.

25
ответ дан 4 December 2019 в 05:58
поделиться

Можно использовать двойные фигурные скобки для установки данных. Вы все еще звоните, добавляют или помещают, но это менее ужасно:

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);
 }};
22
ответ дан 4 December 2019 в 05:58
поделиться

Также не забывайте, что и Карта и Хеш-таблица универсальны в 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);
7
ответ дан 4 December 2019 в 05:58
поделиться
import java.util.HashMap;

Map map = new HashMap();
2
ответ дан 4 December 2019 в 05:58
поделиться

И есть ли способ заполнить таблицу со списком ключа-> пары значения, индивидуально не называя добавить метод на объекте для каждой пары?

Одна проблема с Вашим вопросом состоит в том, что Вы не упоминаете то, в чем то, что формирует Ваши данные, находится для начала. Если Ваш список пар, оказалось, был списком Карты. Запись возражает, что это было бы довольно легко.

Только для вывода этого, существует (очень порочил), класс, названный java.util. Свойства, который является расширением Хеш-таблицы. Это ожидает только Строковые ключи и оценивает и позволяет Вам загрузить и хранить данные с помощью файлов или потоков. Формат файла, который это читает и записи, следующие:

key1=value1
key2=value2

Я не знаю, является ли это тем, что Вы ищете, но существуют ситуации, где это может быть полезно.

0
ответ дан 4 December 2019 в 05:58
поделиться

Что сказал Edmund.

Что касается не вызова .add все время, нет, не идиоматически. Были бы различные взломы (хранящий его в массиве и затем цикличном выполнении), что Вы могли сделать, если бы Вы действительно хотели, но я не рекомендовал бы это.

1
ответ дан 4 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: