Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коллекции, Требуется небольшой ликбез 
V
    Опции темы
DCoder
Дата 27.9.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 1.3.2006
Где: Самара

Репутация: нет
Всего: нет



Всем доброго времени суток!

1. Не мог бы кто-нибудь объяснить в чём разница между классами HashTable и HashMap?
2. Как правильнее перебирать элементы коллекции (ну возьмём для определённости класс ArrayList): через метод get в цикле от первого индекса до последнего или через итератор?
PM MAIL   Вверх
revenforv
Дата 27.9.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 6.8.2009
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Посмотрите в эту сторону.. думаю лучше чем в документации вы объяснения не найдете.

Hashtable
HashMap

Добавлено через 1 минуту и 28 секунд
В частности, вот цитата оттуда же:
Цитата

Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap  class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.) This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time. 


Это сообщение отредактировал(а) revenforv - 27.9.2009, 19:58
PM MAIL Skype   Вверх
GZep
Дата 27.9.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Код

for (Object key: hMap.keySet()) {
    System.out.println(hMap.get(key));
}

Код

for (Map.Entry<int, String> entry: hMap.entrySet()) {
    System.out.println(entry.getValue());
}



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Dims
Дата 28.9.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 4
Всего: 11



Цитата(DCoder @  27.9.2009,  19:54 Найти цитируемый пост)
2. Как правильнее перебирать элементы коллекции (ну возьмём для определённости класс ArrayList): через метод get в цикле от первого индекса до последнего или через итератор? 

Всё равно. В документации написано "The size, isEmpty, get, set, iterator, and listIterator operations run in constant time.", то есть, при выполнении get() последовательного сканирования по списку не происходит. Следовательно, аппаратно происходит косвенная адресация и быстрее уже никак невозможно. Итератор внутри делает либо то же самое, либо столь же затратную операцию.
PM MAIL   Вверх
magicfly
Дата 28.9.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 21.2.2007

Репутация: нет
Всего: 1



идеологически верно юзать
Код

for (Object obj:objectCollection)
{
//obj.action()
}
 
либо
Код

(Iterator<Object>it=objectCollection.iterator();;it.hasNext())
{
Object obj=it.next();
}

Предпочтение лучше отдать первому 
PM MAIL   Вверх
DCoder
Дата 2.10.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 1.3.2006
Где: Самара

Репутация: нет
Всего: нет



Извиняюсь за долгое отсутствие... Почему-то не пришло уведомление об ответе с форума.

Видимо мне нужно было внимательнее читать документацию.  smile Спасибо, коллеги!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.