2015-01-24 5 views
0

В Perl'е хэш выглядитJava Прямая ссылка Hash Value

%last_name = (
    "Ward", "Cleaver", 
    "Fred", "Flintstone", 
    "Archie", "Bunker" 
); 

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

say $last_name{Archie}; # Bunker 

Я искал какое-то время, и не нашли возможность достичь того же, не создавая метод, чтобы сделать это.

Есть ли способ напрямую ссылаться на ключ в хэше Java, чтобы получить его значение?

+2

Существует уже метод в интерфейсе карты, называемый get (ключ) -> возвращает значение. Что вы хотите> –

ответ

1

Вы можете использовать HashMap следующим образом.

HashMap<String,String> lastName = new HashMap<>(); 
lastName.put("Ward","Cleaver"); 
...// The rest of your names 

Затем непосредственно ссылаться на ключ, вы можете вызвать lastName.get("Archie");, который будет вернуть "Bunker".

+0

Я не уверен, почему мои поиски не представили этот ответ. Наверное, мне нужно научиться понимать документы Java. –

1

В java у нас много реализации хэша, многие из которых реализуют интерфейс Map. В зависимости от вашей потребности вы должны выбрать правильный. HashMap является наиболее общим. До этого он был hashtable, который все методы синхронизированы. Существует также TreeMap или для параллельных задач ConcurrentHashMap. Проверьте всю реализацию карты, если вы хотите получить подробное знание этой темы. http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

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