Рубрики
Без рубрики

Java ArrayLists: Очень Простое Руководство Для Абсолютных Новичков

Приветствую сообщество разработчиков! Я подумал, что наконец-то попробую свои силы в написании серии учебных пособий на Ja… С пометкой java, для начинающих, учебное пособие.

Приветствую сообщество разработчиков! Я думал, что наконец-то попробую свои силы в написании серии обучающих программ на Java. Но подождите, почему Java? Разве это не похоже на 90-е? Причина, по которой я выбираю Java, заключается в том, что это то, что я изучаю в школе, и я готов предположить, что многие другие студенты и новички, по крайней мере, прошли несколько занятий или обучающих программ с использованием Java. Лично я нахожу, что разрабатывать Java действительно интересно. Да, он старый, но выдержанный, как хорошее вино. Я тоже продукт 90-х; ретро-миллениал, если хотите. Java по-прежнему очень актуальна, и вы можете создавать с ее помощью множество проектов, начиная от простых CRUD-приложений, приложений для Android и некоторых других. Кроме того, написание также является отличным способом укрепить ваше понимание темы, и я подумал, что это поможет мне сохранить свежесть моей Java. Имейте в виду, я все еще студент, поэтому, если я допущу какие-либо серьезные ошибки, пожалуйста, укажите мне на это так что я могу внести любые необходимые правки. Моя цель – предоставить другим новичкам в мире Java/программирования серию простых руководств по одной из наиболее распространенных структур данных, используемых в Java: Спискам массивов. В этом руководстве я кратко расскажу о том, что такое ArrayLists, и продемонстрирую 3 основные операции CRUD на приведенных примерах.

Что такое ArrayList?

Я предполагаю, что у вас было некоторое представление о классах, полиморфизме и интерфейсах, но поскольку я сам новичок, давайте ненадолго заглянем под капот. Официально класс ArrayList – это реализация интерфейса List на основе массива. Это довольно загадочное определение в основном означает, что ArrayList – это класс, который определяет пустые методы в интерфейсе списка. К счастью, боги Java были достаточно любезны, чтобы определить эти методы для нас, простых смертных, так что списки массивов не так сложны, как кажется на первый взгляд. Давайте начнем с основ. Чтобы объявить ArrayList, просто выполните следующие действия:

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();

}

У нас здесь происходит несколько событий. Во-первых, мы объявили объект ArrayList с именем list. Но Ник! Я слышу, как ты плачешь. Что же это такое, черт возьми? Arraylist на самом деле хранит дженерики.

    ArrayList list = new ArrayList<> (); 

T – это любой объект, который вы хотите сохранить в нем. В моем примере я решил хранить строки, но вы можете поместить любой тип объекта внутри списка, который вам нравится. Например, вы могли бы delcare

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();

}

или…

public static void main (String [] args) {

ArrayList list = new ArrayList<> ();

}

Список можно продолжать (простите за каламбур). Сейчас я сосредоточусь на использовании строк, но я рекомендую вам поиграть с другими типами объектов.

Добавление в ArrayList

Класс ArrayList поставляется с некоторыми предопределенными методами для функций реализации CRUD (СОЗДАНИЕ, ЧТЕНИЕ, ОБНОВЛЕНИЕ, УДАЛЕНИЕ). Добавление элементов в ArrayList довольно просто. Позвольте мне представить вам метод add(E e), где E – это элемент, который мы хотим добавить.

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();
list.add("Java"); 

System.out.println(list); 

}

Когда я компилирую это, я получаю следующий вывод:

[Java]

То, что я здесь сделал, – это добавил строковый объект со значением “Java” в ArrayList. Печатая его, обратите внимание, что он выглядит как массив! Мы можем добавить в ArrayList столько элементов, сколько захотим (ну, столько, сколько может вместить память вашего компьютера!), Поэтому мы можем считать размер ArrayList размером n. Давайте добавим в список еще несколько значений.

  list.add("Python");
  list.add("Kotlin");
  list.add("JavaScript");
  list.add("Ruby");

Теперь, когда я печатаю это, я получаю следующий вывод:

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();
list.add("Java"); 
list.add("Python");
list.add("Kotlin");
list.add("JavaScript");
list.add("Ruby");

System.out.println(list);
}

Теперь, когда я печатаю это, я получаю следующий вывод:

  [Java, Python, Kotlin, JavaScript, Ruby] 

Обновление списка

Иногда мы можем захотеть обновить что-то внутри нашего ArrayList. Обновление списков массивов происходит прямолинейно. Допустим, теперь, когда мы добавили несколько элементов в список, мы хотим внести несколько обновлений. Обновление списка обрабатывается с помощью метода set(int index, E element). Допустим, я хочу изменить JavaScript для отображения “React”.

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();

list.add("Java"); 
list.add("Python");
list.add("Kotlin");
list.add("JavaScript");
list.add("Ruby");

list.set(3, "React");

System.out.println(list);

}

Теперь, когда я печатаю это, я должен увидеть желаемую правку.

[Java, Python, Kotlin, React, Ruby]

Будь осторожен! Элементы в ArrayList отключены на значение, равное единице. Это означает, что Java имеет индекс 0, а не 1! Если ты мне не веришь, я докажу это:

 list.set(1, "Oops!"); 

//Output 
 [Java, Oops!, Kotlin, React, Ruby]


Python имеет индекс 1, но мы, возможно, намеревались изменить Java на “oops!”. Это распространенная ошибка среди новичков (включая меня), так что просто имейте это в виду.

Удаление из Arraylist

Наконец, я познакомлю вас с методом remove(). С помощью функции remove() вы можете удалить индекс элементов или самих объектов. Но они оба достигают одного и того же эффекта!

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();

list.add("Java"); 
list.add("Python");
list.add("Kotlin");
list.add("JavaScript");
list.add("Ruby");

list.set(3, "React");

//Remove index zero
list.remove(0);

System.out.println(list);

//Output
 [Python, Kotlin, React, Ruby]

}

Здесь я удаляю индекс 0, который содержит строку “Java”. Java была удалена. Аналогичным образом, мы могли бы также сделать следующее:

public static void main (String [] args) {

 ArrayList list = new ArrayList<>();

list.add("Java"); 
list.add("Python");
list.add("Kotlin");
list.add("JavaScript");
list.add("Ruby");

list.set(3, "React");

//Remove index zero
list.remove("Java");

System.out.println(list);

//Output
 [Python, Kotlin, React, Ruby]

}

Обратите внимание, что это приводит к тому же результату. Единственное предостережение заключается в том, что этот способ удаления из списка возвращает логическое значение, тогда как удаление индекса возвращает E или элемент с указанным индексом. Если объект присутствует в списке, то он будет удален. Если я попытаюсь удалить объект, которого нет в списке

 System.out.println(list.remove("HTML")); //returns false

Это связано с тем, что HTML, очевидно, отсутствует в списке. Для получения дополнительной информации ознакомьтесь с официальной документацией для получения дополнительной информации о методах и функциях ArrayLists. Я надеюсь, что это было информативно и обеспечило легкий переход к более продвинутым функциям языка Java. В будущих уроках я хотел бы поиграть с созданием некоторых пользовательских объектов, чтобы продемонстрировать некоторые из более гибких функций ArrayLists. Пожалуйста, оставляйте любые вопросы или комментарии ниже, и я буду рад на них ответить!

Оригинал: “https://dev.to/tacomanick/java-arraylists-a-dead-easy-tutorial-for-absolute-beginnners-8ig”