Как получить значения HashTable как Arraylist?

Hashtable hw

Как я могу преобразовать его значения в:

ArrayList <Word> arr

спасибо.

Ответы

Ответ 1

Используйте конструктор ArrayList, который принимает коллекцию.

ArrayList<Word> arr = new ArrayList<Word>(hw.values());

Тогда каждое значение, которое было в HashTable, будет в новом ArrayList.

Вы можете найти документацию о конструкторе в javadocs.

Ответ 2

ArrayList<Word> arr = new ArrayList<Word>( hw.values() );

Ответ 3

Также вы можете использовать

ArrayList<Word> arr = Collections.list(hw.keys());

для ключей как ArrayList

Ответ 4

использование

hw.values();

он просто вернет коллекцию (например, список) объектов Word.


из javadocs

<сильные > значения

public Коллекция значения()

Возвращает представление коллекции значения, содержащиеся в этой карте. коллекция поддерживается картой, поэтому изменения на карте отражены в коллекции и наоборот. Если карта изменяется во время итерации над коллекцией (за исключением собственного итератора удалить операцию), результаты итерация undefined. коллекция поддерживает удаление элементов, который удаляет соответствующие отображение с карты через Iterator.remove, Collection.remove, removeAll, убрать все и очистить операции. Он не поддерживает add или addAll.