Lista i wydajność.
Chcę teraz zakończyć ostrzeżeniem o wydajności. Widzisz, tylko dlatego, że możesz łatwo wstawiać i usuwać elementy niekoniecznie oznacza, że powinieneś. Pomyśl o akcji polegającej na dodawaniu elementów na końcu listy. Łatwe, ale co się stanie, gdy wstawisz element gdzieś w środek listy?
Wszystko po wstawieniu musi przejść w dół listy.
Listy naprawdę przechowują swoje pozycje sekwencyjnie w pamięci, więc dane muszą być fizycznie przenoszone w pamięci komputera. Oczywiście nie stanowi to problemu, jeśli jest to lista pięciu elementów a może nawet 100 elementów, ale wyobraź sobie listę, która zawiera 1 000 000 elementów i wstawiasz element na początek listy i to samo dotyczy usuwania elementów.
Z tego powodu ostrożnie wstawiajcie lub usuwajcie
elementy z dużej listy.
W większości przypadków najlepszym zastosowaniem listy jest po prostu zbudowanie kolekcji poprzez dynamiczne dodawanie potrzebnych elementów.
W tych wpisach poznałeś Listę i zobaczyłeś że w przeciwieństwie do tablicy o stałym rozmiarze, listy są tworzone jako puste a następnie możesz swobodnie dodawać i usuwać elementy, dzięki czemu są świetnymi rozwiązaniami gdy na początku nie wiemy, ile wartości będziemy mieć, ale oprócz tej różnicy, listy działają w zasadzie tak samo jak tablice do wyliczania i wyszukiwania.
Pokazałem również, jak sprawdzić ile elementów jest na liście i jak wyszukać element na liście spełniający określone kryteria, i nauczyliśmy się, że chociaż możemy wstawiać lub usuwać elementy z listy, to może to powodować problemy z wydajnością.
Cały kod do kursu na githubie:
https://github.com/mariuszjurczenko/BeginningCsharpCollections
Całościowe omówienie tematu kolekcji (tablica, lista, kolejka, stos, słownik).
Wiele przydatnych wskazówek i dobrych praktyk dostępne jest na kursie:
First, our results may not apply to cancers not evaluated in this study how old do you have to be to buy viagra