ArrayList и LinkedList представляет собой отдельный класс , моделирующий
работу массива , вернее сказать интерфейс как у массива но с более
расширенными функциями записью/чтением данных и управлением памятью.
Основная проблема массивов заключается в их статичности, невозможно
изменить размер массива, добавить или удалить его элементы. Поэтому при
проектирование приложений приходилось угадывать
размер массивов, что приводило к нерациональному потреблению памяти. Все
эти проблемы решает класс ArrayList. При его объявление отпадает
надобность указывать размер ArrayList, а только тип
хранимого содержимого:
name.set(9, str) - записывает в уже существующий 9 элемент .
name.add(9, str) - вставляет новый элемент, в результате чего увеличивается размер списка ArrayList.
Подобный интерфейс имеет также и LinkedList.
Конечно можно и самому придумать стандартными командами подобный интерфейс управления элементами и памятью, чтоб добится желаемого эффекта, но не стоит придумывать велосипед заново.
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-го элемента
Единственное, что следует не путать: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));
}
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.
Конечно можно и самому придумать стандартными командами подобный интерфейс управления элементами и памятью, чтоб добится желаемого эффекта, но не стоит придумывать велосипед заново.
Комментариев нет:
Отправить комментарий