Dlaczego Java ArrayList używa rzutowania na element zamiast rzutowania na tablicę?

Co dzieje się w Javie?ArrayList<T> (i prawdopodobnie wiele innych klas) jest to, że istnieje wewnętrznyObject[] array = new Object[n];, do któregoT Obiekty są napisane. Ilekroć z niego czytany jest element, odlewreturn (T) array[i]; skończone. Tak więc obsada przy każdym czytaniu.

Zastanawiam się, dlaczego tak się dzieje. Wydaje mi się, że po prostu robią niepotrzebne rzuty. Czy nie byłoby bardziej logiczne i nieco szybsze tworzenieT[] array = (T[]) new Object[n]; a potem tylkoreturn array[i]; bez obsady? Jest to tylko jeden rzut na tworzenie tablicy, co zazwyczaj jestdaleko mniej niż liczba odczytów.

Dlaczego ich metoda jest preferowana? Nie rozumiem, dlaczego mój pomysł nie jest całkowicie lepszy?

questionAnswers(4)

yourAnswerToTheQuestion