Найти тему
GameDev на Java

Списки (List) в Java: простыми словами

Оглавление

Привет, друзья! Сегодня хочу рассказать вам про такую штуку в Java, как List — это списки, и они реально полезны. Если вы когда-то работали с массивами и запутались, как добавлять, удалять или находить элементы, то вам точно стоит разобраться со списками. Они гораздо гибче и проще в использовании! В этой статье я объясню, как с ними работать, и покажу на примерах, чтобы всё стало понятно.

Что такое List?

Список (или List) — это такая штука, которая позволяет хранить кучу данных в одном месте и при этом гибко с ними работать. Например, вы можете добавлять элементы, удалять их, а также легко получать доступ к любому из них. Представьте список как коробку, в которую можно сложить всё, что угодно: строки, числа или даже другие списки.

В Java есть интерфейс List, и его реализаций несколько, но чаще всего используют два варианта:

  1. ArrayList — простой и быстрый.
  2. LinkedList — иногда полезнее, когда нужно часто добавлять и удалять данные.

Как создать список?

Создать список в Java на самом деле проще простого. Вот вам пример:

Интерфейс List
Интерфейс List

Здесь мы создали список строк. ArrayList<> — это тот самый "хранитель" данных, с которым мы будем работать. В скобках указываем тип данных, в нашем случае это строки (String).

Как добавить элементы в список?

Хорошо, создали список, а теперь давайте что-нибудь в него положим. Для этого есть метод add():

 Метод add()
Метод add()

Теперь у нас есть три элемента в списке: "Привет", "Мир" и "Java". Всё просто, не так ли?

Как достать элемент из списка?

А что если мне нужно выбрать какой-то элемент? Например, я хочу вывести первый элемент. Для этого есть метод get(), который работает по индексам. И да, нумерация начинается с нуля:

Получение первого элемента из списка
Получение первого элемента из списка

Этот код выведет: "Привет". Всё, что добавили первым, будет на нулевом индексе.

Как узнать размер списка?

Чтобы понять, сколько элементов у нас сейчас в списке, используем метод size():

Метод size()
Метод size()

Этот код покажет размер списка. Например, если там три элемента, вы увидите: Размер списка равным значению 3.

Как удалить элемент?

Если вдруг захотите удалить элемент из списка, это тоже делается просто. Например, удалим строку "Мир":

Метод remove()
Метод remove()

После этого в списке останутся только "Привет" и "Java". Легко, правда?

Как пройтись по всем элементам?

Хорошо, а если нужно сразу вывести все элементы списка? Для этого идеально подойдет цикл for-each. Вот пример:

Цикл for-each
Цикл for-each

Этот код пробежится по каждому элементу списка и выведет их по очереди.

Чем отличаются ArrayList и LinkedList?

Многие новички задаются вопросом: а что выбрать — ArrayList или LinkedList? Коротко расскажу про разницу.

  • ArrayList — это список, который работает на основе массива. Это значит, что доступ к элементам по индексу (например, когда вы используете get()) здесь очень быстрый. Но если вы часто добавляете или удаляете элементы не в конце, придется подождать, потому что нужно обработать все остальные элементы.
  • LinkedList — это список, который связан поэлементно. Каждый элемент знает, кто идет за ним и перед ним. Добавлять и удалять элементы тут быстрее, но вот доступ по индексу может быть медленнее, потому что нужно пройти по каждому элементу, чтобы добраться до нужного.

Пример программы

Давайте посмотрим на это всё в действии. Напишем простой код, который создает список чисел, добавляет в него элементы, выводит их на экран, а потом удаляет одно из чисел:

Пример работы со списком в JAVA
Пример работы со списком в JAVA
Вывод обработанного списка
Вывод обработанного списка

Этот пример показывает, как мы добавляем числа в список, выводим их и выборочно удаляем. Всё предельно просто.

Заключение

Вот и всё! Теперь вы знаете, что такое списки (List) в Java и как с ними работать. Это очень удобная и мощная штука, которая пригодится вам в самых разных задачах. Списки помогают управлять данными, добавлять, удалять и работать с элементами намного проще, чем если бы вы пытались делать это через массивы.

Если у вас есть вопросы или вам нужны дополнительные примеры — пишите в комментариях! Я всегда рад помочь разобраться и поделиться своим опытом. И не забудьте подписаться на мой канал, чтобы не пропустить новые полезные статьи.

Удачи в кодинге!