2012-06-08 2 views
2

Можно создать дубликат:
What will store a Key-Value list in Java or an alternate of C# IDictionary in Java?Имеет ли Java структуру данных, в которой хранятся пары значений ключа, эквивалентные IDictionary в C#?

В C# есть структура данных, названный IDictionary, который хранит коллекцию пар ключ-значение. Есть ли подобная структура данных в Java? Если да, то, что он называется, и может ли кто-нибудь дать мне пример того, как его использовать?

+0

Его значение ключа, а не значение строки –

+5

, так что ... вы предполагаете, что не проводили никаких исследований? – user1329572

+0

нет исследований? поиск интернета для java datastructures, и вы получите всю комбинацию, которую предоставляет java. –

ответ

19

Один из лучших способов является HashMap:

Используйте этот пример:

HashMap<String, Integer> dicCodeToIndex; 
dicCodeToIndex = new HashMap<String, Integer>(); 

// valuating 
dicCodeToIndex.put("123", 1); 
dicCodeToIndex.put("456", 2); 

// retrieving 
int index = dicCodeToIndex.get("123"); 
// index is 1 

Посмотрите на эту ссылку: http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html

+5

Любой класс, который реализует java.util.Map, будет делать, а не только HashMap. – duffymo

+0

Да, это один из самых простых способов. – breceivemail

+2

Я бы сказал, что создание нового TreeMap или LinkedHashMap так же просто. И если я правильно переписал ваш код, чтобы использовать карту в качестве ссылочного типа в левой части, я могу изменить реализацию по своему усмотрению. – duffymo

3

Вы можете использовать самые различные реализации java.util.Map (см. http://docs.oracle.com/javase/7/docs/api/java/util/Map.html). Наиболее часто используемой реализацией карты для словарной карты должно быть HashMap.

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

Смежные вопросы