Pobieranie danych z hashmapy i zapis do tablicy

0

Witam. Mam pytanie, ponieważ trochę eksperymentuje z java ostatnio natrafiłem na taki problem dość trywialny ale nie mogę nigdzie znaleźć rozwiązania.

Jak pobrać dane z hashmapy i zapisać je do tablicy?

Bardzo proszę o pomoc. Wiem tylko tyle ze trzeba użyć funkcji get. Najlepiej jakby ktoś mi wstawił tutaj taki pseudokod żebym mógł go sobie prześledzić. Z góry dziękuję.

1

Hashmapa ma klucze i wartości. Co chcesz wstawić do tablicy: klucze, wartości, jedno i drugie?

0
.entrySet();
.values();
.keys();

zależy czego z mapy potrzebujesz ;]

0
bogdans napisał(a):

Hashmapa ma klucze i wartości. Co chcesz wstawić do tablicy: klucze, wartości, jedno i drugie?

Jedno i drugie.

Pokaz jak możesz jak to wyciągać i zapisywać do tablicy.

0
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("dog",4);
map.put("man",2);

Jakiego typu ma być w powyższym przykładzie tablica, co ma zawierać?

0

Tak tak nie chodziło mi o wstawianie tylko o pobieranie. Powiedzmy ze mam w hashmapie wartosci typu data czyli p. 2013-01-01 oraz jakis string typu 'tekst'; Chcialbym to wyciagac funkcja zeby zwracala mi tablice danych typu['2013-01-01, 'tekst'];

1

Piszesz niejasno, nie możesz mieć w hashmapie wartości typu String i wartości typu Date. Poniżej zakładam, że klucze są typu String, a wartości typu Date.

HashMap<String,Date> map = ...;
...
Set<Map.Entry<String,Date>> set = map.entrySet();
String[][] tab = new String[set.size()][2];
Iterator<Map.Entry<String,Date>> it = set.iterator();
int i = 0;
while(it.hasNext())
{
     Map.Entry<String,Date> m = it.next();
     tab[i][0] = m.getKey();
     tab[i][1] = przekonwertuj(m.getValue());
     i++;
}

Można też tak (będzie chyba odrobinę szybciej):

Set<String> set = map.keySet();
String[][] tab = new String[set.size()][2];
Iterator<String> it = set.iterator();
int i = 0;
while(it.hasNext())
{
     String m = it.next();
     tab[i][0] = m;
     tab[i][1] = przekonwertuj(map.get(m));
     i++;
}
0

Ok dzięki za podpowiedź. Przez weekend już dam spokój ale siąde od poniedziałku i zobacze jak to bedzie wygladac

0

Działa i mam to co chciałem. Dzięki bogdans. Natomiast Shalom cenie twoja wiedzę itd. ale jak masz pisać w taki sposób w każdym temacie od niechcenia zamiast konkretniej naprowadzić to szkoda klawiatury. Lepiej sobie na fb z laskami poklikaj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1