W celu pobrania kolekcji elementów z kolekcji Map, należy skorzystać z
konstruktora docelowej kolekcji przyjmującego atrybut typu Collection.
Następnym krokiem jest pobranie kolekcji elementów za pomocą metody
values().

Map<Integer, String> map = new HashMap<Integer, String>();

map.put(1, "item 1");
map.put(2, "item 2");
map.put(3, "item 3");

// pobranie listy elementów mapy
List<String> list = new ArrayList<String>(map.values());

Z kolei aby pobrać tablicę elementów listy:

// pobranie tablicy elementów listy
String[] array = list.toArray(new String[list.size()]);

// niezalecane poniższe rozwiązanie – ponieważ
// jeżeli przekażemy za mały rozmiar tablicy docelowej
// elementy nie zostaną w niej zapisane, tylko w nowej tablicy
String[] output = new String[2];

// array nie będzie tą samą tablicą co output
array = list.toArray(output);

// jeżeli znamy rozmiar docelowej kolekcji
output = new String[list.size()];

// array będzie tą samą tablicą co output
array = list.toArray(output);

// bezpieczne rozwiązanie jeżeli nie znamy liczby elementów
// docelowej tablicy
array = list.toArray(new String[0]);
Kategorie: Java

0 Komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *