Page 147 - 6253
P. 147

Розмір cars після видалення: 4

                    Масив-список cars: [Mercedes, Opel, BMW, Ford]

                    Незважаючи на те, що розмір колекції ArrayList збільшується автоматично, є

            можливість  зробити  це  вручну,  викликавши  для  цього  метод  з  наступною

            сигнатурою:

                    void ensureCapacity(int розмір)

                    Збільшуючи розмір колекції один раз під час її створення, можна підвищити

            продуктивність програмного коду, оскільки перерозподіл пам’яті є досить дорогою

            операцією в плані часових затрат.

                    Також  можна  зменшити  розмір  колекції  ArrayList  до  поточної  реальної

            кількості елементів, що уній зберігаються, викликавши наступний метод:

                    void trimToSize()

                    При роботі з класом ArrayList іноді необхідно отримати звичайний масив, що

            включає в себе усі елементи списку. Це можна зробити, викликавши метод toArray(),

            який визначений в інтерфейсі Collection.

                    Існує дві версії методу tоАггау(), які приведені нижче.

                    Object[] toArray()

                    <Т> Т[] toArray(Т масив[])

                    Перша версія повертає масив об'єктів класу Object, а друга – масив елементів,

            типу Т. Зазвичай друга форма зручніша, оскільки повертає правильний тип масиву,

            який  не  потребує  приведення.  Приклад  отримання  масиву  із  масиву-списку

            представлено нижче.

                    import java.util.ArrayList;



                    public class Main {

                     public static void main (String args[])         {



                       // Створення масиву-списку

                       ArrayList<Integer> al = new ArrayList<Integer>();



                       // Додавання елементів у масив-список




                                                              146
   142   143   144   145   146   147   148   149   150   151   152