|
|
|
Массивы
|
|||
|---|---|---|---|
|
#18+
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html в хаше хранится пара ключ-значение - вы кладёте в хаш определённый объект (тот-же массив) с ключём "Петя", а потом по этому ключу можете получить его обратно... правда вот если у вас повторяющиеся названия то я мало-мало глупость предложил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:40 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
Thinking in Java Функциональность Map ArrayList позволяет вам выбирать из последовательности объектов, используя номер, другими словами, он ассоциирует номера с объектами. Но что, если вы хотите выбирать из последовательности объектов, используя какой-то другой критерий? Например, стек: его критерием выбора является “последняя вещь, втолкнутая в стек”. Мощными поворотными моментами этой идеи “выборки из последовательности” поочередно стали карта (map), словарь (dictionary) или ассоциативный массив (associative array). Концептуально они выглядят как ArrayList, но вместо поиска объектов по номерам вы ищете их, используя другой объект. Часто это является ключевым процессом в программе. Эта концепция показана в Java как интерфейс Map. Метод put(Object key, Object value) добавляет значение (то, что вы хотите) и ассоциирует с ним ключ (то, по чем вы будете искать). get(Object key) производит значение по соответствующему ключу. Вы также можете проверить Map, узнав, содержится ли там ключ или значение с помощью containsKey( ) и containsValue( ). Стандартная библиотека Java содержит два различных типа Map: HashMap и TreeMap. Оба они имеют один и тот же интерфейс (так как они оба реализуют Map), но они отличаются одним способом: эффективностью. Если вы думаете, что это должно выполнятся с помощью get( ), это выглядит приятно медленным, например, при поиске в ArrayList, содержащем ключи. HashMap - достаточно скоростной контейнер. Вместо медленного поиска ключа, он использует специальное значение, называемое хеш-код. Хэш-код - это способ получения определенной информации об объекте путем опроса и включения “относительно уникального” int для этого объекта. Все Java объекты могут производить хеш-код, а метод hashCode( ) - это метод корневого класса Object. HashMap берет hashCode( ) объекта и использует его для быстрого вылавливания ключа. В результате получаем ощутимое прибавление производительности [50]. В качестве использования HashMap, рассмотрим программу для проверки случайности метода Java Math.random( ). В идеале, он должен производить равномерно распределенные случайные числа, но для проверки этого вам необходимо сгенерировать группу случайных чисел и посчитать сколько из них попадет в различные пределы. HashMap лучше всего подходит для этого, так как она ассоциирует объекты с объектами (в этом случае, значение объекта содержит число, произведенное Math.random( ) наряду с количеством вхождений этого числа): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Если ключ до сих пор не был найден, метод put( ) поместит новую пару ключ-значение в HashMap. Так как Counter автоматически инициализирует свою переменную i при создании, это указывает на первое появление определенного случайного числа. Для отображения HashMap, он просто печатается. Метод HashMap toString( ) проходит по всем парам ключ-значение и вызывает toString( ) для каждого из них. Integer.toString( ) является предопределенным и вы можете видеть toString( ) для Counter. При запуска мы получим такой вывод (после добавления нескольких символов конец строки): {19=526, 18=533, 17=460, 16=513, 15=521, 14=495, 13=512, 12=483, 11=488, 10=487, 9=514, 8=523, 7=497, 6=487, 5=480, 4=489, 3=509, 2=503, 1=475, 0=505} Вы можете быть удивлены необходимость класса Counter, для которого кажется, что он не имеет даже функциональности класса-оболочки Integer. Почему не использовать int или Integer? Хорошо, мы не можем использовать int потому, что все контейнеры могут хранить только ссылки на Object. После рассмотрения контейнеров классы-оболочки могли бы иметь для вас больше смысла, так как вы не можете поместить любой примитивный тип в контейнер. Однако есть только одна вещь, которую вы можете делать с оболочками в Java - это инициализация его определенным значением и чтение этого значения. То есть, нет способа изменить значение, как только оболочка будет создана. Это немедленно делает оболочку Integer бесполезной для решения нашей проблемы, так что мы вынуждены создавать новый класс, который удовлетворяет нашим требованиям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:49 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
Naughttp://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html в хаше хранится пара ключ-значение - вы кладёте в хаш определённый объект (тот-же массив) с ключём "Петя", а потом по этому ключу можете получить его обратно... правда вот если у вас повторяющиеся названия то я мало-мало глупость предложил Попробую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:49 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
ТимоН Thinking in Java Функциональность Map ArrayList позволяет вам выбирать из последовательности объектов, используя номер, другими словами, он ассоциирует номера с объектами. ..... Это уже серьезно... Благодарю. Интересно очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 15:51 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
Я балдею, как орлы вокруг девочки вьются)))) другого уже отправили к докам! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:32 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
am_sasa > Я балдею, как орлы вокруг девочки вьются)))) другого уже отправили к докам!Тема==Ответить +1. ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:39 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
am_sasaЯ балдею, как орлы вокруг девочки вьются)))) другого уже отправили к докам! Эх... хотя бы б фотку выложила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:59 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
am_sasaЯ балдею, как орлы вокруг девочки вьются)))) другого уже отправили к докам! Ребята сочтемся. Ченить придумаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 17:08 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
А потом топиком пользуются многие. Что очень полезно для этого форума. А на счет фотки - ...http://]http://www.livejournal.com/userinfo.bml?user=zikava Юзай и все получится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 17:12 |
|
||
|
Массивы
|
|||
|---|---|---|---|
|
#18+
GlukOzaА потом топиком пользуются многие. Что очень полезно для этого форума. А на счет фотки - ...http://]http://www.livejournal.com/userinfo.bml?user=zikava Юзай и все получится... Че-то я фотки не вижу там. р.s.:я кстати тоже с Киева ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 18:32 |
|
||
|
|

start [/forum/search_topic.php?author=AnotherWorld&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 697ms |
| total: | 961ms |

| 0 / 0 |
