Jakie są plusy i minusy używania numeru Vector.<>
zamiast array
?Wektor. <> Vs tablica
Odpowiedz
W wyniku tych ograniczeń Vector charakteryzują dwie podstawowe zalety instancji Array, której elementy są wszystkie wystąpienia jednej klasy:
- Wydajność: tablica dostęp elementem i iteracja jest znacznie szybsza w przypadku użycia instancji Vector niż w przypadku korzystania z Array.
- Bezpieczeństwo typu: w trybie ścisłym kompilator może zidentyfikować błędy typu danych, takie jak przypisanie wartości nieprawidłowego typu danych do wektora lub oczekiwanie niewłaściwego typu danych podczas odczytu wartości z wektora. Zauważ jednak, że przy użyciu metody push() lub metody unshift() w celu dodania wartości do wektora, typy danych argumentów nie są sprawdzane w czasie kompilacji, ale są sprawdzane w czasie wykonywania.
Dzięki Arno! To tylko plusy, czy są też jakieś contras? W odniesieniu do lepszej wydajności Vector: niektórzy ludzie twierdzą, że jest inaczej: patrz http://impossiblearts.com/blog/2008/06/18/fp10-vector-vs-array/comment-page-1/ i http://bugs.adobe.com/jira/browse/FP-1802 –
Wygląda na to, że wydajność może nie być obecnie najlepszym punktem sprzedaży wektorów. Z drugiej strony, należy już przyzwyczaić się do faktu, że zarówno sdks, jak i Flash Player z Flexa nie są wolne od błędów. –
Duże kontrakty są moim zdaniem bardzo nowe, więc są trochę powikłane i nie wszyscy mają 10. PR. W tym teście Mike Chambers: http://www.mikechambers.com/blog/2008/08/19/using-vectors-in-actionscript-3-andflash-player-10/ w jego teście nie jest hugh różnica między 2 liczbami. Jeśli twoja aplikacja nie jest mocno zawieszona na dużych listach, poleciałabym z Array. – Arno
Pro: wektor jest szybszy niż tablica - np. zobacz: Faster JPEG Encoding with Flash Player 10
Contra: Vector wymaga FP10 i według http://riastats.com/ około 20% użytkowników nadal używa FP9
W czasie tego komentarza, niewykryta wersja + flashuje 9 zegarów przy 4% – ADB
niewykrytych i flashu 9 w dzisiejszym czasie prawie 5%. –
Według WWW Flash player penetracji jest trochę wyższa. Dookoła 85%
Wektory są szybciej. Chociaż dla sekwencyjnej iteracji the fastest thing seems to be linked-lists.
Wektory mogą być również przydatne w operacjach bitmapowych (sprawdź BitmapData.setVector, a także BitmapData.lock i odblokuj).
Podany wcześniej przykład listy powiązanej jest niepoprawnie zapisany, ale pomija węzły nieparzyste i dlatego tylko iteruje połowę tych samych danych. Nic dziwnego, że osiąga świetne wyniki, może być szybszy z poprawnym kodem, ale nie z tą samą różnicą%. Pętla ustawia current = current.next jeden raz za dużo (zarówno w pętli, jak i warunek pętli), każda iteracja powodująca takie zachowanie.
- 1. <%# %> vs <%= %>
- 2. Szyny ERB <%- ... -%> vs. <% ... %>
- 3. ASP.NET <%= %> vs <%: %>
- 4. <?> vs <T>
- 5. inicjalizacji map <string, wektor <string>>
- 6. C++ map <string, wektor <char>> Dostęp
- 7. unique_ptr <int[]> lub wektor <int>?
- 8. Sortowanie wektor <Struct> alfabetycznie
- 9. std :: wektor <bool> implementacja optymalizacji
- 10. std :: wektor <std::string> crash
- 11. convert <vector><string> TO <vector><int> C++, Win32
- 12. Kopiowanie wektor <shared_pt<T>> do wektora <shared_ptr <const T>> (różne przypadki) C++
- 13. Jaka jest różnica między robi wektor <vector<T...>> i grafika <vector<T> ...>
- 14. „<>” vs „NOT IN”
- 15. <asp:Table> Vs html <table>
- 16. SEO: <button> vs <a> Znaczniki HTML
- 17. Kolekcja <? extends T> vs Kolekcja <T>
- 18. Kolejka <T> vs Lista <T>
- 19. IList <int> vs Lista <int>
- 20. IEnumerable <T> vs IReadOnlyList <T>
- 21. Bluszcz: <bluszcz: ustawienia> vs. <bluszcz: konfiguracja>
- 22. asp.net Tagi mvc: <%: %> vs. <%= %>
- 23. SkipList <T> vs Słownik <TKey,TValue>
- 24. Func <T>() vs Func <T>. Invoke()
- 25. <zipfileset> vs. <fileset> w ant
- 26. F # - Co to jest tablica <'T>?
- 27. Jak wyrazić "<tablica-prawdziwego-lub-fałszu> = <array><= <scalar>" używając Eigen 3?
- 28. Powracanie IHttpActionResult vs IEnumerable <Item> vs IQueryable <Item>
- 29. Scal wektor i initializer_list w inicjalizacji wektora <vector<T>>?
- 30. obliczanie sum kolumn wektora macierzy <Wektor <double>> z iteratorami?
Na marginesie, należy oznaczyć tag flex4 flashplayer10. –