Developer от Бога

DV

четверг, 6 июля 2017 г.

Java. Списки ArrayList и LinkedList

ArrayList и LinkedList представляет собой отдельный класс , моделирующий работу массива , вернее сказать интерфейс как у массива но с более расширенными функциями записью/чтением данных и управлением памятью. Основная проблема массивов заключается в их статичности, невозможно изменить размер массива, добавить или удалить его элементы. Поэтому при проектирование приложений приходилось угадывать размер массивов, что приводило к нерациональному потреблению памяти. Все эти проблемы решает класс ArrayList. При его объявление отпадает надобность указывать размер ArrayList, а только тип хранимого содержимого:


ArrayList <String> name = new ArrayList<String>();// объявление

int n = name.size(); //количество элементов

String str = name.get(3); // Чтение третьего элемента, эквивалент array[3];

name.set(9, str); // Запись в девятый элемент

name.add(str); // Добавит строку в конец списка

name.add(9, s); // Добавит строку после 9 элемента

name.add(0, s); // Добавит строку в начало списка

name .remove(6);// Удаление 6-го элемента


Единственное, что следует не путать:


name.set(9, str) - записывает в уже существующий 9 элемент .
name.add(9, str) - вставляет новый элемент, в результате чего увеличивается размер списка ArrayList.


ArrayList <String> name = new ArrayList<String>();

String a = "str-1";
String b = "str-2";
String c = "str-3";


name.add(a);
name.add(b);
name.add(c);


for(int i=0; i < name.size(); i++){
System.out.println(name.get(i));
}


Подобный интерфейс имеет также и LinkedList.
Конечно можно и самому придумать стандартными командами подобный интерфейс управления элементами и памятью, чтоб добится желаемого эффекта, но не стоит придумывать велосипед заново.

Комментариев нет:

Отправить комментарий