Четыре метода Java Arraylist Traversal и использование класса Arraylist в Java
Пакет com.test; import java.util.arraylist; import java.util.iterator; import java.util.list; public class arraylistdemo {public static void main (string args []) {list> list = new ArrayList < String> (); (it1.next ()); для (String TMP: List) {System.out.println (tmp); get (i));PS: Использование класса ArrayList в Java
1. Что такое ArrayList
ArrayList - это легендарный динамический массив.
Динамически увеличивать и уменьшать элементы
Реализовать интерфейсы Icollection и Ilist
Гибкая настройка размера массива
2. Как использовать ArrayList
Самый простой пример:
Arraylist list = new ArrayList (); 5); // Удалить 6 -й элемент для (int i = 0; i <3; i ++) // Добавить 3 дополнительных элементов. .Toarray (typeof (int32)); // вернуть массив, содержащийся в ArrayList
Это простой пример.
3. Важные методы и свойства ArrayList
1) Конструктор
ArrayList предоставляет три конструктора:
Public ArrayList ();
Конструктор по умолчанию инициализирует внутренний массив с размером по умолчанию (16)
Public ArrayList (ICollection);
Построено с объектом Icollection и добавьте элементы коллекции в ArrayList
Public ArrayList (int);
Инициализировать внутренний массив с указанным размером
2) Иссинхронизированное имущество и метод ArrayList.synchronized
Свойство Issynchronized указывает, поддерживает ли текущий экземпляр ArrayList синхронизацию потока, в то время как ArrayList.synchronized Static метод возвращает инкапсуляцию синхронизации потока ArrayList.
Если вы используете экземпляры неоттравленной синхронизации, вам необходимо вызовать блокировку вручную, чтобы сохранить синхронизацию потоков при доступе к мультипотчикам, например:
ArrayList List = new ArrayList ();
Свойство синтруута на самом деле сама, но для того, чтобы удовлетворить определение синхронизации Icolection,
Здесь мы все еще используем Syncroot для поддержания стандартизации исходного кода
{list.add ("Добавить элемент");Если вы используете экземпляр, возвращенный методом ArrayList Благодаря Arraylist.synchronized экземпляр, каждое свойство в ИТ использует ключевое слово Lock для обеспечения синхронизации потока.
3) Атрибут счета и атрибут емкости
Свойство Count-это количество элементов, в настоящее время содержащихся в ArrayList, и это свойство только для чтения.
Свойство емкости - это максимальное количество, которое в настоящее время может содержать в максимальном списке.
4) Добавить, добавить, удалить, снять, снять, вставить, вставить
Эти методы похожи
Метод добавления используется для добавления элемента в конце текущего списка
Метод addrange используется для добавления партии элементов в конце текущего списка
Метод удаления используется для удаления элемента и удаления его через ссылку самого элемента.
Метод Removeat используется для удаления элемента и удаления его путем индексации значения.
Removerange используется для удаления партии элементов, которая удаляется путем указания начального индекса и количества удалений.
INSERT используется для добавления элемента в указанную позицию, а элементы, стоящие за списком, перемещаются назад по очереди.
INSERTRANGE используется для добавления партии элементов из указанной позиции, а элементы, стоящие за списком, перемещаются назад по очереди.
Кроме того, есть несколько аналогичных методов:
Чистый метод используется для очистки всех существующих элементов.
Метод содержит, чтобы обнаружить, что объекта не находится в списке.
Я не буду обременен остальным.
5) Метод тримза
Этот метод используется для исправления ArrayList до размера фактического элемента.
6) Метод Toarray
Этот метод скопирует элемент ArrayList в новый массив.
4. Arraylist и Marray Conversion
Пример 1:
Arraylist = new Arraylist (); ;
Пример 2:
Arraylist = new Arraylist (); ;
Выше приведено два метода конвертации из ArrayList в массив
Пример 3:
Arraylist list = new Arraylist (); ;
Он отличается от массива, потому что он может быть преобразован в массив объектов, поэтому он не допустит никакой ошибки, чтобы добавить различные типы элементов в массив. может быть правильно преобразован всеми элементами, в противном случае исключение, которое не может быть преобразовано, будет брошено.
5. Лучший совет по использованию ArrayList
В этом разделе мы обсудим разницу между ArrayList и Array, а также эффективность ArrayList
1) ArrayList - сложная версия массива
ArrayList инкапсулирует массив типа объекта.
Определите размер фактического элемента.
6) Метод Toarray
Этот метод скопирует элемент ArrayList в новый массив.
4. Arraylist и Marray Conversion
Пример 1:
Arraylist = new Arraylist (); ;
Пример 2:
Arraylist = new Arraylist (); ;
Выше приведено два метода конвертации из ArrayList в массив
Пример 3:
Arraylist list = new Arraylist (); ;
Он отличается от массива, потому что он может быть преобразован в массив объектов, поэтому он не допустит никакой ошибки, чтобы добавить различные типы элементов в массив. может быть правильно преобразован всеми элементами, в противном случае исключение, которое не может быть преобразовано, будет брошено.
5. Лучший совет по использованию ArrayList
В этом разделе мы обсудим разницу между ArrayList и Array, а также эффективность ArrayList
1) ArrayList - сложная версия массива
ArrayList инкапсулирует массив типа объекта Метод массива.
2) Влияние внутреннего типа объекта
Для общих эталонных типов эта часть не имеет большого влияния, но для типов стоимости добавление и изменение элементов в ArrayList вызовет операции упаковки и распаковки, и частые операции могут повлиять на некоторую эффективность.
Но для большинства людей большинство приложений используют массивы типов стоимости.
Невозможно устранить это влияние.
3) Расширение массива
Это фактор, который оказывает большее влияние на эффективность ArrayList.
Всякий раз, когда вы выполняете Add, Addrange, INSERT, INSERTRANGE и другие методы для добавления элементов, он будет проверять, является ли емкость внутреннего массива недостаточной. Новое в массиве, затем отбросьте старый массив.
Пример 1: Например, если данные с 200 элементами динамически добавляются в ArrayList, созданный с размером по умолчанию 16 элементов, он пройдет:
16*2*2*2 = 256
Четыре расширения будут соответствовать окончательным требованиям, поэтому, если:
Arraylist list = new Arraylist (210);
Создание ArrayList на пути не только уменьшит 4-кратные операции создания и копирования массива, но и уменьшит использование памяти.
Пример 2: ArrayList создается с ожидаемыми 30 элементами:
Arraylist list = new Arraylist (30);
В процессе выполнения добавлен 31 элемент, массив будет расширен до 60 элементов, и в настоящее время не будет добавлено новые элементы. И, и впустую 29-й элемент. Если в это время используйте:
Arraylist list = new Arraylist (40);
Тогда все решается.
Следовательно, правильная оценка возможных элементов и вызов метода тримзаметов в подходящее время является важным способом повышения эффективности использования ArrayList.
4) Часто вызовный индекс, содержит и другие методы (сортировки, бинарное исследование и другие квадраты
Потеря эффективности, вызванная методом, оптимизирована, а не в этом столбце), прежде всего, нам нужно дать понять, что ArrayList является динамическим массивом, который не включает алгоритмы, которые быстро доступны через ключ или значение, поэтому на самом деле, фактически, Вызов IndexOF, содержит и другие методы прост в выполнении. Пары значений, такие как хэштет или сортируемый список.
ArrayList al = new ArrayList (); Al.Add («Как»); Al.Add (300); Al.Add (1.2); Al.Add (22,8);