Wpis z mikrobloga

#java #programowanie #pytaniedoeksperta
Mirki pytanie mam, mam mapę i listę obiektów, obiekty posiadają pole name typu string. I teraz chciałbym sprawdzić czy dla każdej wartości z mapy (jakis tam string) w liscie jest obiekt, który ma pole name odpowiadające wartości z mapy. Chciałbym tak przeiterować całą mapę i jeśli chociaż jedna wartość nie ma odpowiednika w liście zwraca mi false. Czy mam walnąć iterację czy mogę to sprawdzić w inny sposób czy lista zawiera obiekt posiadający pole o takiej samej wartości jak szukana wartość?
  • 6
@Dominias: Tzn. chcesz wiedzieć czy możesz to zrobić inaczej niż O(m * n) czy o co pytasz? No bo możesz sobie napisać pętlę ręcznie, możesz też wołać gotowce szukające wartości w liście (albo w mapie), ale nadal masz tak samo wolny algorytm.
@Dominias: Jak często wykonujesz taką funkcję i jak często zmienia się lista obiektów? Możesz zastanowić się nad zrobieniem Set przechowującym interesujące cię pole z obiektów tej listy Wtedy masz O(m) zamiast O(m*n), ale musisz martwić się o aktualizowanie tego zbioru