несколько полей в HashTable - PullRequest
1 голос
/ 02 сентября 2011

Я хочу создать Hashtable в программе Java. Hashtable должен иметь несколько полей (сейчас я хочу хранить 3 столбца, которые я читаю из БД). Как я могу хранить несколько столбцов, так как Hashtable хранит пары ключ-значение. Я хотел бы сохранить первый столбец в качестве ключа и 3-й столбец в качестве значения. Пожалуйста помоги!! Спасибо!

Ответы [ 5 ]

2 голосов
/ 02 сентября 2011

Во-первых, вам нужен новый класс, который может хранить значения:

public class Values {
  public final String foo;
  public final Long bar;
  public final Long foobar;

  public Values(final String foo, final Long bar, final Long foobar) {
    this.foo = foo;
    this.bar = bar;
    this.foobar = foobar;
  }
}

Чем вы можете создать свой Hashtable (вам действительно нужна безопасность потоков?) Следующим образом:

final Map<String, Values> container = new Hashtable<String, Values>();

Если вам не нужна защита потока, вы можете использовать HashMap.

0 голосов
/ 02 сентября 2011

Вы можете создать HashTable, где первый столбец будет для ключа, а второй столбец будет содержать вектор или массив, класс или что-то еще.Вот как вы создадите хеш-таблицу с разными столбцами

0 голосов
/ 02 сентября 2011

что вы подразумеваете под: «В Hashtable должно быть несколько полей (сейчас я хочу сохранить 3 столбца, которые я читаю из БД).»

HashTable может иметь пары ключ-значение, и ключи должны бытьуникальный, так что любой столбец в вашей таблице, который является уникальным и не нулевым, например, первичный ключ, может использоваться в качестве ключа в хеш-таблице, соответствующие значения могут быть любым, что вы хотите сохранить, это могут быть только значения в 3-м столбцеили вы можете создать составной объект из остальных полей и поместить этот объект в качестве значения по отношению к первичному ключу.

А если у вас нет проблем с безопасностью потоков, перейдите к HashMap для повышения производительности.

0 голосов
/ 02 сентября 2011

Значением в хеш-таблице (concurrenthashmap является лучшей альтернативой в большинстве сценариев) может быть любой объект (даже ваша сущность БД; так что вы можете свободно переносить значения хеш-таблицы как любой объект, который вам нужен).

0 голосов
/ 02 сентября 2011

Вы можете просто сделать ваше значение объектом, содержащим 3 значения, которые вы хотите сохранить, связанные с ключом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...