Odpowiadam na własne pytanie w oparciu o to, czego się dowiedziałem.
Wektory są szybsze dla tych typów danych tylko: - (proof)
Tablice są korzystne wszystkie pozostałe typy S:
Wektory są bardziej ograniczone do pracy z:
- odczytu/zapisu jest granice zaznaczone
- nieistniejące szczeliny nie mogą być ustaw bezpośrednio za pomocą [5] = Val
- nieistniejące szczeliny nie można odczytać (lub dostaniesz wyjątek)
- musi push() do tworzenia szczelin
- sortowania jest wolniejszy
Wektory są bardziej kłopotliwe:
- wielo-D tablice nie może być przekształcony w wektorze
- wektor nie można przeprowadzić w wielowymiarowej tablicy D
- nie może pracować z String.split()
- stałym typu dla wszystkich elementów - bezużyteczny dla JSON
Wektory mogą być łatwiejsze do debugowania:
- ustawienie [Vector z int] Do [Wektor Wektor wskazówki] wygeneruje wyjątek
- błędy w czasie kompilacji (w niektórych przypadkach)
- gdy próbuje ustawić [Vector z int] do [Vector sznurków]
- gdy próbuje ustawić [wektor o wskazówki] do [Wektor Wektor wskazówki]
Interesujące. Sam zastanawiałem się, jak zastąpić różne klasy kolekcji, których używam jako dostawców danych dla różnych kontrolek zorientowanych na "ListBase". Jedną z ogromnych wad, które widzę, jest to, że nie można ustawić 'źródła'' wektora 'w taki sposób, jak to możliwe za pomocą' ArrayCollection'. Możesz nawet utworzyć instancję prostego 'Array' używając' Array.slice() 'z innej tablicy. Myślę, że wektory muszą rosnąć iteracyjnie. Zastanawiam się teraz, za co ich użyję. – Robusto
Jeśli nie masz nic przeciwko, Jarvis, mam kilka pytań: Dlaczego tablice są preferowane dla Strings i jak nie możesz pracować z String.split()? – Panzercrisis