Class arraylist
Содержание:
- Возведение в степень
- Как найти элементы
- Определение
- JSON
- 1 Синтаксический сахар
- Methods of ArrayList Class
- ArrayList Example in Java
- ArrayList Methods
- Iterating ArrayList
- Пункт 11: локальные переменные должны стремиться к минимизации своей области видимости. Тип var усиливает это утверждение
- Methods of ArrayList class
- ArrayList
- 4 Импорт классов
- Решение распространенных проблем
- Комментарии
- Пункт 15: var можно использовать при объявлении локальных переменных, предназначенных для разбиения больших цепочек выражений на части
- Математика
- 1 Класс ArrayList
- Методы
Возведение в степень
Возвести число в степень можно двумя способами:
- простое умножение;
- используя метод (двойное основание, двойной показатель степени).
Использование библиотечной функции рекомендуется только в случае крайней необходимости, например, в случае дробной или отрицательной степени.
Простое умножение в Java работает в 300-600 раз эффективнее, кроме того, его можно дополнительно оптимизировать:
JIT оптимизация
Код Java обрабатывается с использованием JIT-компиляции: сначала он транслируется в платформенно-независимый байт-код, а затем в машинный код. При этом оптимизируется все возможное, и разработчик может помочь компилятору создать максимально эффективную программу.
В качестве примера рассмотрим две простые операции:
Давайте измерим время выполнения каждого из них:
Запустив этот код несколько раз, мы получим примерно следующее:
Схема очевидна: группировка переменных в круглые скобки ускоряет работу программы. Это связано с генерацией более эффективного байт-кода при умножении одинаковых значений.
Вы можете узнать больше об этом эксперименте здесь. Или можете провести свой собственный тест, используя онлайн-компилятор Java.
Как найти элементы
Используется один из этих двух методов:
- indexOf();
- LastIndexOf().
Метод indexOf() находит индекс первого вхождения в списке заданного элемента:
List list = new ArrayList(); String element1 = "element 1"; String element2 = "element 2"; list.add(element1); list.add(element2); int index1 = list.indexOf(element1); int index2 = list.indexOf(element2); System.out.println("index1 = " + index1); System.out.println("index2 = " + index2);
Запуск этого кода приведет к следующему выводу:
index1 = 0 index2 = 1
Как найти последнее вхождение элемента в списке
Метод lastIndexOf() находит индекс последнего вхождения в списке данного элемента:
List list = new ArrayList(); String element1 = "element 1"; String element2 = "element 2"; list.add(element1); list.add(element2); list.add(element1); int lastIndex = list.lastIndexOf(element1); System.out.println("lastIndex = " + lastIndex);
Выходные данные, напечатанные при запуске приведенного выше примера, будут следующими:
lastIndex = 2
Элемент 1 элемент встречается 2 раза в списке. Индекс последнего появления равен 2.
Определение
- Пространство имен:
- System.Collections
- Сборки:
- mscorlib.dll, System.Collections.NonGeneric.dll
- Сборка:
- System.Runtime.dll
- Сборка:
- System.Collections.NonGeneric.dll
- Сборка:
- System.Runtime.Extensions.dll
- Сборка:
- mscorlib.dll
- Сборка:
- netstandard.dll
Реализует интерфейс IList с помощью массива с динамическим изменением размера по требованию.Implements the IList interface using an array whose size is dynamically increased as required.
В этой статье
- Наследование
-
Object
ArrayList
- Производный
- Атрибуты
-
SerializableAttribute
ComVisibleAttribute
- Реализации
-
ICollection
IEnumerable
IList
ICloneable
JSON
Сериализация и Десериализация
JSON — невероятно удобный и полезный синтаксис для хранения и обмена данными. Java полностью поддерживает это.
Прим. перев. Для использования JSON из примера необходимо подключить библиотеку JSON Simple.
Вы можете сериализовать данные следующим образом:
Получается следующая строка JSON:
Десериализация в Java выглядит так:
Используемый в примере файл JSON (jsonDemoFile.json):
Прим. перев. В Java проектах очень часто для работы с JSON используют библиотеки Gson от Google или Jackson. Обе библиотеки очень популярны и хорошо поддерживаются. Попробуйте и их.
1 Синтаксический сахар
Программисты любят, когда какой-то сложный код или логику можно написать парой строк, и код при этом компактный и читаемый. А разработчики языков иногда помогают им в этом.
Хитрые особенности языка, которые позволяют использовать более короткий путь (писать меньше кода), называют синтаксическим сахаром. Хотя, честно говоря, в Java его совсем немного.
Разработчики Java сделали все, чтобы устранить из Java всю возможную избыточность. Если в C++ что-то можно сделать десятью способами, в Java чаще всего это можно сделать только одним способом.
Но такая унификация не нравится ни Java-программистам, ни создателям Java. И иногда они упрощают жизнь обычным ребятам вроде нас с вами.
Вы, кстати, уже познакомились с вещью, которую можно отнести к синтаксическому сахару — это autoboxing и unboxing. Сравните:
Длинный код | Компактный код |
---|---|
Вместо длинного кода как слева вы можете писать более компактный код, как справа. А умный Java-компилятор на основе краткого кода сам сгенерирует его полную версию. Это и есть синтаксический сахар.
Methods of ArrayList Class
In previous section, we have learned about the , , , and method of the class.
Besides those basic methods, here are some more methods that are commonly used.
Methods | Descriptions |
---|---|
size() | Returns the length of the arraylist. |
sort() | Sort the arraylist elements. |
clone() | Creates a new arraylist with the same element, size, and capacity. |
contains() | Searches the arraylist for the specified element and returns a boolean result. |
ensureCapacity() | Specifies the total element the arraylist can contain. |
isEmpty() | Checks if the arraylist is empty. |
indexOf() | Searches a specified element in an arraylist and returns the index of the element. |
If you want to learn about all the different methods of arraylist, visit Java ArrayList methods.
ArrayList Example in Java
This example demonstrates how to create, initialize, add and remove elements from ArrayList. In this example we have an ArrayList of type “String”. We have added 5 String element in the ArrayList using the method add(String E), this method adds the element at the end of the ArrayList.
We are then adding two more elements in the ArrayList using method add(int index, String E), this method adds the specified element at the specified index, index 0 indicates first position and 1 indicates second position.
We are then removing the elements “Chaitanya” and “Harry” from the ArrayList and then we are removing the second element of the ArrayList using method remove(int index). Since we have specified the index as 1 (remove(1)), it would remove the second element.
import java.util.*; public class JavaExample { public static void main(String args[]) { /* Creating ArrayList of type "String" which means * we can only add "String" elements */ ArrayList<String> obj = new ArrayList<String>(); /*This is how we add elements to an ArrayList*/ obj.add("Ajeet"); obj.add("Harry"); obj.add("Chaitanya"); obj.add("Steve"); obj.add("Anuj"); // Displaying elements System.out.println("Original ArrayList:"); for(String str:obj) System.out.println(str); /* Add element at the given index * obj.add(0, "Rahul") - Adding element "Rahul" at first position * obj.add(1, "Justin") - Adding element "Justin" at second position */ obj.add(0, "Rahul"); obj.add(1, "Justin"); // Displaying elements System.out.println("ArrayList after add operation:"); for(String str:obj) System.out.println(str); //Remove elements from ArrayList like this obj.remove("Chaitanya"); //Removes "Chaitanya" from ArrayList obj.remove("Harry"); //Removes "Harry" from ArrayList // Displaying elements System.out.println("ArrayList after remove operation:"); for(String str:obj) System.out.println(str); //Remove element from the specified index obj.remove(1); //Removes Second element from the List // Displaying elements System.out.println("Final ArrayList:"); for(String str:obj) System.out.println(str); } } Output:
Original ArrayList: Ajeet Harry Chaitanya Steve Anuj ArrayList after add operation: Rahul Justin Ajeet Harry Chaitanya Steve Anuj ArrayList after remove operation: Rahul Justin Ajeet Steve Anuj Final ArrayList: Rahul Ajeet Steve Anuj
ArrayList Methods
ArrayList add() method exampleArrayList addAll() method exampleArrayList clear() method exampleArrayList clone() – How to clone an ArrayListArrayList contains() method exampleArrayList ensureCapacity() method exampleArrayList forEach() method exampleArrayList get() method exampleArrayList indexOf() method exampleArrayList lastIndexOf() method exampleArrayList listIterator() method exampleArrayList remove() method exampleArrayList removeAll() method exampleArrayList retainAll() method exampleArrayList replaceAll() method exampleArrayList removeIf() method exampleArrayList sort() method exampleArrayList spliterator() method exampleArrayList subList() method exampleArrayList toArray() method example
Iterating ArrayList
In the above examples, we have displayed the ArrayList elements just by referring the ArrayList instance, which is definitely not the right way to displays the elements. The correct way of displaying the elements is by using an advanced for loop like this.
import java.util.*; class JavaExample{ public static void main(String args[]){ ArrayList<String> alist=new ArrayList<String>(); alist.add("Gregor Clegane"); alist.add("Khal Drogo"); alist.add("Cersei Lannister"); alist.add("Sandor Clegane"); alist.add("Tyrion Lannister"); //iterating ArrayList for(String str:alist) System.out.println(str); } }
Output:
Gregor Clegane Khal Drogo Cersei Lannister Sandor Clegane Tyrion Lannister
Пункт 11: локальные переменные должны стремиться к минимизации своей области видимости. Тип var усиливает это утверждение
Сохраняйте небольшую область видимости для локальных переменных — я уверен, что вы слышали это утверждение до появления var.
Читабельность и быстрое исправления багов — аргументы в пользу этого подхода. Например, давайте определим стэк следующим образом:
Избегайте этого:
Обратите внимание, что мы вызываем метод , который унаследован от. Этот метод будет проходить по стеку, как любой другой вектор и это то, что нам нужно
Но теперь мы решили использовать вместо — . Когда мы сделаем это, метод получит реализацию от ArrayDeque, который будет проходить по стеку, как стандартный стек (LIFO)
Это не то что мы хотим. Тут слишком сложно отследить ошибку, поскольку код, содержащий часть , не находиться рядом с кодом, в который были внесены изменения. Чтобы увеличить скорость поиска и исправления ошибок, гораздо лучше писать код, использующий переменную , как можно ближе к объявлению этой переменной.
Лучше всего это делать так:
Теперь, когда разработчик переключается с на , он сможет быстрее заметить ошибку и исправить ее.
Methods of ArrayList class
In the above example we have used methods such as add() and remove(). However there are number of methods available which can be used directly using object of ArrayList class. Let’s discuss few important methods of ArrayList class.
1) add( Object o): This method adds an object o to the arraylist.
obj.add("hello");
This statement would add a string hello in the arraylist at last position.
2) add(int index, Object o): It adds the object o to the array list at the given index.
obj.add(2, "bye");
It will add the string bye to the 2nd index (3rd position as the array list starts with index 0) of array list.
3) remove(Object o): Removes the object o from the ArrayList.
obj.remove("Chaitanya");
This statement will remove the string “Chaitanya” from the ArrayList.
4) remove(int index): Removes element from a given index.
obj.remove(3);
It would remove the element of index 3 (4th element of the list – List starts with o).
5) set(int index, Object o): Used for updating an element. It replaces the element present at the specified index with the object o.
obj.set(2, "Tom");
It would replace the 3rd element (index =2 is 3rd element) with the value Tom.
6) int indexOf(Object o): Gives the index of the object o. If the element is not found in the list then this method returns the value -1.
int pos = obj.indexOf("Tom");
This would give the index (position) of the string Tom in the list.
7) Object get(int index): It returns the object of list which is present at the specified index.
String str= obj.get(2);
Function get would return the string stored at 3rd position (index 2) and would be assigned to the string “str”. We have stored the returned value in string variable because in our example we have defined the ArrayList is of String type. If you are having integer array list then the returned value should be stored in an integer variable.
8) int size(): It gives the size of the ArrayList – Number of elements of the list.
int numberofitems = obj.size();
9) boolean contains(Object o): It checks whether the given object o is present in the array list if its there then it returns true else it returns false.
obj.contains("Steve");
It would return true if the string “Steve” is present in the list else we would get false.
10) clear(): It is used for removing all the elements of the array list in one go. The below code will remove all the elements of ArrayList whose object is obj.
obj.clear();
ArrayList
Итак, класс ArrayList представляет коллекцию объектов. И если надо сохранить вместе разнотипные объекты — строки, числа и т.д., то
данный класс как раз для этого подходит.
Основные методы класса:
-
: добавляет в список объект value
-
: добавляет в список объекты коллекции col, которая представляет интерфейс ICollection — интерфейс, реализуемый коллекциями.
-
: удаляет из списка все элементы
-
: проверяет, содержится ли в списке объект value. Если содержится, возвращает true, иначе возвращает false
-
: копирует текущий список в массив array.
-
: возвращает новый список ArrayList, который содержит count элементов текущего списка, начиная с индекса index
-
: возвращает индекс элемента value
-
: вставляет в список по индексу index объект value
-
: вставляет в список начиная с индекса index коллекцию ICollection
-
: возвращает индекс последнего вхождения в списке объекта value
-
: удаляет из списка объект value
-
: удаляет из списка элемент по индексу index
-
: удаляет из списка count элементов, начиная с индекса index
-
: переворачивает список
-
: копирует в список элементы коллекции col, начиная с индекса index
-
: сортирует коллекцию
Кроме того, с помощью свойства можно получить количество элементов в списке.
Посмотрим применение класса на примере.
using System; using System.Collections; namespace Collections { class Program { static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add(2.3); // заносим в список объект типа double list.Add(55); // заносим в список объект типа int list.AddRange(new string[] { "Hello", "world" }); // заносим в список строковый массив // перебор значений foreach (object o in list) { Console.WriteLine(o); } // удаляем первый элемент list.RemoveAt(0); // переворачиваем список list.Reverse(); // получение элемента по индексу Console.WriteLine(list); // перебор значений for (int i = 0; i < list.Count; i++) { Console.WriteLine(list); } Console.ReadLine(); } } }
Во-первых, так как класс ArrayList находится в пространстве имен System.Collections, то подключаем его ().
Вначале создаем объект коллекции через конструктор как объект любого другого класса: .
При необходимости мы могли бы так же, как и с массивами, выполнить начальную инициализацию коллекции, например,
Далее последовательно добавляем разные значения. Данный класс коллекции, как и большинство других коллекций, имеет два способа добавления:
одиночного объекта через метод Add и набора объектов, например, массива или другой коллекции через метод
AddRange
Через цикл мы можем пройтись по всем объектам списка. И поскольку данная коллекция хранит разнородные объекты, а не только числа или строки, то в качестве типа
перебираемых объектов выбран тип object:
Многие коллекции, в том числе и ArrayList, реализуют удаление с помощью методов Remove/RemoveAt. В данном случае мы удаляем первый элемент,
передавая в метод RemoveAt индекс удаляемого элемента.
В завершении мы опять же выводим элементы коллекции на экран только уже через цикл for. В данном случае с перебором коллекций дело обстоит
также, как и с массивами. А число элементов коллекции мы можем получить через свойство
С помощью индексатора мы можем получить по индексу элемент коллекции так же, как и в массивах:
НазадВперед
4 Импорт классов
Имя класса + имя пакета формируют так называемое полное уникальное имя класса.
Примеры:
Полное уникальное имя | Имя пакета | Имя класса |
---|---|---|
отсутствует |
Хорошая новость:
Полное имя класса всегда уникально в рамках одного проекта. Ну вы же не можете создать два файла с одним и тем же именем в одной и той же папке.
Плохая новость:
Полные имена классов обычно либо длинные, либо очень длинные. А ведь каждый раз писать в коде длинное имя, например java.util.ArrayList, очень неудобно.
Поэтому в Java добавили возможность «импортировать классы».
Вы можете использовать в своем коде короткое имя класса, но сначала вам нужно будет объяснить компилятору, какое именно «полное уникальное имя класса» соответствует короткому имени. Вдруг у вас в проекте несколько классов с таким именем. Или сначала был один, а потом еще 15 добавилось…
Чтобы использовать короткое имя класса в своем коде, вам нужно добавить вот такую конструкцию в свой код:
Добавлять такое объявление нужно в самом начале класса, сразу после объявления .
Пример:
Благодаря тому, что мы импортировали два класса и , мы можем использовать их короткие имена в нашем коде. И компилятор будет знать, какие именно классы использовать.
А вот как бы выглядел этот же код, если бы мы не использовали :
Кстати, если у вас в проекте есть два класса с именем , импортировать их оба в один файл с кодом не получится: для второго постоянно придется использовать длинное имя.
Допустим, у вас в коллективе есть Серега, и никаких проблем с общением, не возникает — все знают кто это. Но если бы их было трое, чтобы их различать, пришлось бы использовать полные уникальные имена.
Примечание 1
Кстати, если вам лень добавлять много импортов в ваш класс, вы можете воспользоваться его версией для ленивых: вместо имени класса поставить звездочку:
Таким образом, вы сможете использовать в вашем коде короткие имена всех классов из данного пакета.
Примечание 2
Все классы из пакета импортируются автоматически, поэтому вам не нужно писать для них . Один такой класс вы точно знаете: это класс… . Да, да, тот самый класс , который используется для работы со строками.
Решение распространенных проблем
Содержимое директории
Java позволяет вам получать имена всех подкаталогов и файлов в папке в виде массива, который затем можно последовательно прочитать:
Выполнение консольных команд
Java позволяет выполнять консольные команды прямо из кода, используя класс
Очень важно не забывать об обработке исключений
Например, давайте попробуем открыть файл PDF через терминал Java (на Linux’e):
Воспроизведение звуков
Звук — важный компонент многих десктопных приложений и игр. Язык программирования Java предоставляет средства для работы с ним.
Отправка email
Отправить электронную почту на Java очень просто. Вам просто нужно установить Java Mail и указать путь к нему в пути к классам проекта.
Получение координат курсора
Чтобы фиксировать события мыши, вам необходимо реализовать интерфейс . Когда курсор попадает в определенную область, срабатывает обработчик события , из которого вы можете получить точные координаты (используя Swing для UI)
Комментарии
Важно!
Мы не рекомендуем использовать класс для новой разработки.We don’t recommend that you use the class for new development. Вместо этого рекомендуется использовать универсальный List<T> класс.Instead, we recommend that you use the generic List<T> class.
ArrayListКласс предназначен для хранения разнородных коллекций объектов.The ArrayList class is designed to hold heterogeneous collections of objects. Однако это не всегда обеспечивает наилучшую производительность.However, it does not always offer the best performance. Вместо этого рекомендуется следующее:Instead, we recommend the following:
- Для разнородной коллекции объектов используйте тип (в C#) или (в Visual Basic).For a heterogeneous collection of objects, use the (in C#) or (in Visual Basic) type.
- Для однородной коллекции объектов используйте List<T> класс.For a homogeneous collection of objects, use the List<T> class. List<T> Описание относительной производительности этих классов см. в разделе рекомендации по производительности.See in the List<T> reference topic for a discussion of the relative performance of these classes. Общие сведения об использовании универсальных типов, а не неуниверсальных коллекций, см. в разделе неуниверсальные коллекции в GitHub.See Non-generic collections shouldn’t be used on GitHub for general information on the use of generic instead of non-generic collection types.
Сортировка ArrayList не гарантируется.The ArrayList is not guaranteed to be sorted. Необходимо отсортировать объект ArrayList , вызвав его Sort метод перед выполнением операций (например BinarySearch ,), ArrayList для которых требуется сортировка.You must sort the ArrayList by calling its Sort method prior to performing operations (such as BinarySearch) that require the ArrayList to be sorted. Чтобы поддерживать коллекцию, которая автоматически сортируется по мере добавления новых элементов, можно использовать SortedSet<T> класс.To maintain a collection that is automatically sorted as new elements are added, you can use the SortedSet<T> class.
Емкость ArrayList — это количество элементов, которые ArrayList может содержать.The capacity of an ArrayList is the number of elements the ArrayList can hold. Когда элементы добавляются в ArrayList , емкость автоматически увеличивается по мере необходимости путем перераспределения.As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. Емкость можно уменьшить, вызвав TrimToSize или Capacity явно задав свойство.The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.
Только .NET Framework: Для очень больших ArrayList объектов можно увеличить максимальную емкость до 2 000 000 000 элементов в 64-разрядной системе, задав атрибут элемента конфигурации в среде выполнения..NET Framework only: For very large ArrayList objects, you can increase the maximum capacity to 2 billion elements on a 64-bit system by setting the attribute of the configuration element to in the run-time environment.
Доступ к элементам в этой коллекции можно получить с помощью целочисленного индекса.Elements in this collection can be accessed using an integer index. Индексы в этой коллекции отсчитываются от нуля.Indexes in this collection are zero-based.
ArrayListКоллекция принимает как допустимое значение.The ArrayList collection accepts as a valid value. Он также позволяет дублировать элементы.It also allows duplicate elements.
Использование многомерных массивов в качестве элементов в ArrayList коллекции не поддерживается.Using multidimensional arrays as elements in an ArrayList collection is not supported.
Пункт 15: var можно использовать при объявлении локальных переменных, предназначенных для разбиения больших цепочек выражений на части
Выражения с большой вложенностью выглядят впечатляюще и обычно кажутся какими-то умными и важными частями кода. В случае, когда необходимо облегчить читаемость кода, рекомендуется разбить большое выражение, используя локальные переменные. Но иногда написание множества локальных переменных кажется очень изнурительной работой, которую хотелось бы избежать.
Пример большого выражения:
Лучше разбейте код на составные части:
Второй вариант кода выглядит более читабельнее и проще, но первый вариант также имеет право на существование. Для нашего разума абсолютно нормально адаптироваться к пониманию таких больших выражений и предпочесть их локальным переменным. Тем не менее, использование типа var может помочь при разбиении больших конструкций за счет сокращения усилий на объявление локальных переменных:
Математика
Float или Double?
Программисты часто не могут выбрать необходимую точность для чисел с плавающей запятой. Float требует всего 4 байта, но имеет только 7 значащих цифр, а Double в два раза точнее (15 цифр), но в два раза прожорливее.
Фактически, большинство процессоров могут одинаково эффективно работать как с Float, так и с Double, поэтому воспользуйтесь рекомендацией Бьорна Страуструпа (автор языка С++):
Проверка на нечетность
Можно ли использовать этот код для точного определения нечетного числа?
Надеюсь, вы заметили хитрость. Если мы решим таким образом проверить отрицательное нечетное число (например, -5), остаток от деления не будет равен единице, поэтому воспользуйтесь более точным методом:
Он не только решает проблему отрицательных чисел, но и работает более производительно, чем предыдущий метод. Арифметические и логические операции выполняются намного быстрее, чем умножение и деление.
1 Класс ArrayList
Сегодня мы изучим класс . Это первый класс из так называемых коллекций. Коллекции в Java — настолько обширная и полезная вещь, что ей посвящен целый квест на JavaRush.
Чтобы полностью понять, как устроены коллекции и все нюансы их работы, нужно сначала изучить ООП, интерфейсы, наследование, азы многопоточности и многое другое.
Поэтому сегодня мы просто познакомимся с самой простой коллекцией. Зато на достаточно глубоком уровне, чтобы вы понимали, как ей пользоваться и как она работает. Итак, встречайте: коллекция .
Предыстория
Начну с небольшой предыстории. Программистам очень не нравилось одно свойство массива — его размер нельзя изменять. Что делать, если нужно сохранить в массиве ещё три элемента, а свободное место только одно?
Единственным решением проблемы нехватки места в массиве было создание массива очень большого размера, чтобы все элементы туда точно поместились. Но это часто приводило к нерациональному расходу памяти. Если обычно в массиве хранилось два-три элемента, но был хотя бы мизерный шанс, что там их будет 100, приходилось создавать массив на 100 элементов.
И что же придумали программисты? Они написали класс (массив-список), который выполнял ту же работу, что и (массив), но мог изменять свой размер.
Класс ArrayList
Само название происходит из двух слов: Array + List. — это массив, а — список.
Внутри каждого объекта типа хранится обычный массив элементов. Когда вы считываете элементы из , он считывает их со своего внутреннего массива. Когда записываете — записывает их во внутренний массив.
У класса ArrayList отсутствуют все недостатки, которые есть у массивов. Он умеет:
- Хранить элементы определенного типа
- Динамически менять размер списка
- Добавлять элементы в конец списка
- Вставлять элементы в начало и середину списка
- Удалять элементы из любого места списка
Подробнее — ниже:
Методы
Помимо методов, унаследованных от родительских классов, ArrayList определяет следующие методы:
№ | Метод и описание |
1 | void add(int index, Object element)Вставляет указанный элемент в указанный индекс позиции в этом списке. Выбрасывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index size()). |
2 | boolean add(Object o)Добавляет указанный элемент в конец этого списка. |
3 | boolean addAll(Collection c)Добавляет все элементы в указанной коллекции в конец этого списка в том порядке, в котором они возвращаются итератором указанной коллекции. Вызывает NullPointerException, если указанная коллекция имеет значение null (нулевая). |
4 | boolean addAll(int index, Collection c)Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции. Вызывает NullPointerException, если указанная коллекция имеет значение null. |
5 | void clear()Удаляет все элементы из этого списка. |
6 | Object clone()Возвращает неглубокую копию этого массива. |
7 | boolean contains(Object o)Возвращает true, если этот список содержит указанный элемент. Если точнее, то возвращает true тогда и только тогда, когда этот список содержит хотя бы один элемент e такой, что (o==null ? e==null : o.equals(e)). |
8 | void ensureCapacity(int minCapacity)Увеличивает емкость этого экземпляра ArrayList, если это необходимо, чтобы гарантировать, что он может удерживать, по крайней мере, количество элементов, заданных аргументом минимальной емкости. |
9 | Object get(int index)Возвращает элемент в указанной позиции в этом списке. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index = size()). |
10 | int indexOf(Object o)Возвращает индекс в этом списке первого упоминания указанного элемента или -1, если List не содержит этот элемент. |
11 | int lastIndexOf(Object o)Возвращает индекс в этом списке последнего упоминания указанного элемента или -1, если List не содержит этот элемент. |
12 | Object remove(int index)Удаляет элемент в указанной позиции в этом списке. Вызывает IndexOutOfBoundsException, если индекс выходит за допустимые пределы (index = size()). |
13 | protected void removeRange(int fromIndex, int toIndex)Удаляет из этого списка все элементы, индекс которых находится между fromIndex, включительно, и toIndex, исключительно. |
14 | Object set(int index, Object element)Заменяет элемент в указанной позиции в этом списке указанным элементом. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index = size()). |
15 | int size()Возвращает количество элементов в этом списке. |
16 | Object[] toArray()Возвращает массив, содержащий все элементы в этом списке в правильном порядке. Вызывает NullPointerException, если указанный массив равен null (нулевой). |
17 | Object[] toArray(Object[] a)Возвращает массив, содержащий все элементы в этом списке в правильном порядке; тип выполнения возвращаемого массива — тип указанного массива. |
18 | void trimToSize()Обрезает емкость этого экземпляра ArrayList до его текущих размеров. |