DexT3R |
Дата: Воскресенье, 03.11.2013, 12:40 | Сообщение # 1
|
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
|
А у вас никогда не возникало желание обращаться к массиву не через индекс, а по любому ключу? Вот допустим у нас есть студент, мы знаем про него много информации, но все данные про студентов хранятся в массиве, тогда достать информацию из мы массива можем только по его номеру, поэтому нам приходиться пробегать весь массив, если мы знаем например только его имя или что - то еще. И встает вопрос как сделать так, чтобы можно было обращаться не только по целочисленному значению в массив, а по любому ключу. Например мы хотим получать всех пользователей по их логину, а не по волшебному номеру, который и сам пользователь то не знает. Очевидно, что логин это строка, и что мы не можем более менее нормально обеспечивать доступ к информации быстрее чем за O(N) с применением массива, тогда на помощь к нам приходит ассоциативный массив. Ассоциативный массив прекрасен тем, что может работать с любым ключом, будь то сложный объект или строка. Для чего это нужно? Во первых мы не храним никакой избыточной информации, у нас есть только реально существующие элементы в массиве. Т.е мы, например бы могли брать создавать достаточно большой массив, брать хеш код у любого объекта и по нему класть в массив, что обеспечила нам бы работу с любыми ключами, так как известно что хеш функцию с тем или иным успехом можно составить для любого объекта. Но тогда бы у нас и возникли пустые места. После прочтения выше написанного, у вас, возможно, сложилось мнение, что ассоциативные массивы это круто и видимо решают достаточно большой класс задач, но на самом деле не все так просто. В зависимости от реализации ассоциативные массивы выполняют операции за время отличное от константы. Но уже хватит говорить об них, давайте рассмотрим интерфейс для работы с ассоциативными массивами.
Интерфейс Map При создании Интерфейса Map указывают тип ключа и значения: Код Map<Integer, String> map;//Map<K,V>
НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
Сообщение отредактировал Kukushka - Воскресенье, 03.11.2013, 12:41 |
|
|
|
[WS]Grenhelgets |
Дата: Понедельник, 01.12.2014, 17:45 | Сообщение # 2
|
|
Добавь в скайп nicelse.ws предложение есть.
|
|
|
|
GlaroX |
Дата: Четверг, 24.11.2016, 03:05 | Сообщение # 3
|
Боец
Сообщений: 201
Статус: Offline
|
Отличный разбор немного изучаю!
|
|
|
|