• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом

Java Урок 57: КОЛЛЕКЦИИ, ArrayList<>

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

Скачать исходники для статьи можно ниже

Пример использования класса ArrayList в программе:

import java.util.ArrayList;
 
public class CollectionApp { 
   public static void main(String[] args) {
      ArrayList<String> states = new ArrayList<String>();
      // добавим в список ряд элементов

      states.add("Германия");
      states.add("Франция");
      states.add("Великобритания");
      states.add("Испания");
      states.add(1, "Италия"); // добавляем элемент по индексу 1

      System.out.println(states.get(1));// получаем 2-й объект
      states.set(1, "Дания"); // установка значения для 2-го объекта

      System.out.println("В списке " + states.size() + " элементов");
      for(String state : states){
         System.out.println(state);
      }
      if(states.contains("Германия")){
         System.out.println("Список содержит государство Германия");
      }

      // удалим несколько объектов
      states.remove("Германия");
      states.remove(0);

      Object[] countries = states.toArray();
      for(Object country : countries){

      System.out.println(country);
      }
   }
}

Вывод программы:
Италия
В списке 5 элементов
Германия
Дания
Франция
Великобритания
Испания
Список содержит государство Германия
Франция
Великобритания
Испания

Здесь объект ArrayList типизируется классом String, поэтому список будет хранить только строки. Поскольку класс ArrayList применяет интерфейс Collection, то мы можем использовать методы данного интерфейса для управления объектами в списке.

Для добавления вызывается метод add. С его помощью мы можем добавлять объект в конец списка:

states.add("Германия") 

Также мы можем добавить объект на определенное место в списке, например, добавим объект на второе место (то есть по индексу 1, так как нумерация начинается с нуля):

states.add(1, "Италия")

Метод size() позволяет узнать количество объектов в коллекции. Проверку на наличие элемента в коллекции производится с помощью метода contains.
А удаление с помощью метода remove.

И так же, как и с добавлением, мы можем удалить либо конкретный
элемент:

states.remove("Германия");

либо элемент по индексу

states.remove(0); 

удаление первого элемента.

Получить определенный элемент по индексу мы можем с помощью метода get():

String state = states.get(1);

а установить элемент по индексу с помощью метода set:

states.set(1, "Дания");

С помощью метода toArray() мы можем преобразовать список в массив объектов. И поскольку класс ArrayList реализует интерфейс Iterable, то мы можем пробежаться по списку в цикле аля for-each:

for(String state : states)

Хотя мы можем свободно добавлять в объект ArrayList дополнительные объекты, в отличие от массива, однако в реальности ArrayList использует для хранения объектов опять же массив.
По умолчанию данный массив предназначен для 10 объектов.

Если в процессе программы добавляется гораздо больше, то создается новый массив, который может вместить в себя все количество.

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

ArrayList<String> states = new ArrayList<String>(25) 

либо с помощью метода

ensureCapacity: states.ensureCapacity(25)

Добавить комментарий