Альтернатива ассоциативным массивам PHP в JAVA - PullRequest
4 голосов
/ 01 октября 2011

В PHP я мог использовать массив со строками в качестве ключей.например, $ some_array ["cat"] = 123;$ some_array ["dog"] = 456;Я только что перешел на Java и не могу найти структуру данных, способную сделать это.Возможно ли это?

Ответы [ 5 ]

7 голосов
/ 01 октября 2011

То, что вы описываете, представляет собой ассоциативный массив , также называемый таблицей, словарем или картой.

В Java вам нужен интерфейс Map и, возможно, класс HashMap в качестве реализации.

Map<String, Integer> myMap = new HashMap<String, Integer>();
myMap.put("cat", 123);

Integer value = myMap.get("cat"); //123
2 голосов
/ 01 октября 2011

Для этого вам понадобится одна из реализаций Map , например HashMap .

1 голос
/ 01 октября 2011

Структура данных, которую вы ищете - Map.Я считаю, что это абстрактный класс, поэтому вам придется использовать один из его конкретных подклассов, например HashMap<?>

1 голос
/ 01 октября 2011

Вы хотите использовать Map, скорее всего, HashMap.

0 голосов
/ 01 октября 2011

Как говорили многие люди, Карта - это то, что вы ищете.Если это был ваш выбор, не забудьте переопределить hashcode () и equals ().Взгляните, потому что это необходимо: http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html

...