Я делаю модель представления, в которой я планирую получить JSONObject через веб-сервисы, проблема в том, что мне нужно получить объект, который представляет собой список списков данных, у меня есть идея, как это представить, создав переменная.
private Map<Integer,Map<Integer,Map>> MiListaDeListas;
Но во время исследования я столкнулся с сомнением в HashMap , я знаю, что одно является реализацией другого, но я не мог понять концепцию между ними.
В чем разница и в каких случаях лучше использовать один от другого.
Map
— это интерфейс, определяющий общее поведение структуры, поддерживающей отношениеkey --> value
.Так
HashMap
что это всего лишь одна реализация (хотя, вероятно, самая распространенная) изMap
нескольких возможных. Другие реализацииMap
, напримерHashtable
,ConcurrentHashMap
,WeakHashMap
, и т.д. У каждого есть свои плюсы и минусы в зависимости от того, что вы пытаетесь сделать.Когда это возможно, особенно если ваш код является частью универсальной библиотеки низкого уровня, целесообразно определять код с помощью файла
Map
. Это позволяет использовать один и тот же код с любой его реализацией по вкусу пользователя.Например, если вы определяете следующий метод:
...тогда тот же метод можно без проблем выполнить, передав ему , ,
HashMap
илиHashtable
любую из реализаций .ConcurrentHashMap
TreeMap
Map
Но если ваш код абсолютно требует, чтобы тип
Map
был aHashMap
(возможно, из соображений производительности или чего-то еще), то можно использовать его,HashMap
чтобы предотвратить использование других реализаций в этом случае.