Как получить поле имени в парах имя-значение, хранящихся в hashmap - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь разобрать хэш-карту, которая содержит пары имя-значение ...

Объекты, хранящиеся в хэш-карте, представляют собой слова с числовым значением, соответствующим каждому слову.

Этокод, который я использую:

hMap = (HashMap) untypedResult;

/*
    get Collection of values contained in HashMap using
    Collection values() method of HashMap class
*/
c = hMap.values();

//obtain an Iterator for Collection
Iterator itr = c.iterator();

//iterate through HashMap values iterator
while(itr.hasNext())
{
    resp.getWriter().println(" Value= " + itr.next());
    //resp.getWriter().println(" To String of iterator= " + itr.toString());
}

Я могу получить числовые значения, связанные с каждым словом, используя код выше.Как мне получить значение каждого слова?

Ответы [ 2 ]

4 голосов
/ 05 ноября 2011

Это проблема:

c = hMap.values();

Если вы тоже хотите ключи, не звоните values(). Позвоните entrySet() вместо:

for (Map.Entry<String, Integer> entry : hMap.entrySet()) {
    resp.getWriter().println("Key " + entry.getKey()
                             + "; value " + entry.getValue());
}

Или для необработанного типа (Ик):

for (Object rawEntry : hMap.entrySet()) {
    Map.Entry entry = (Map.Entry) rawEntry;
    resp.getWriter().println("Key " + entry.getKey()
                             + "; value " + entry.getValue());
}
0 голосов
/ 05 ноября 2011

Либо с #keySet, либо с # recordsSet

http://download.oracle.com/javase/6/docs/api/java/util/HashMap.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...