List в Java

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Данная статья:


Привет! В нашем самоучителе мы рассмотрим следующие коллекции:

Это статья про структуру данных список (List) - один из способов хранения данных в Java.

Что такое список (list) в Java

До этого Вы, скорее всего, были знакомы только с одним способом хранения данных - массивом. Давайте рассмотрим и другие способы. Один из таких "способов" - это хранение данных в списке.

Виды списков

Списков существует несколько. List - это только название интерфейса, который объединяет несколько реализаций:

На практике мы чаще всего используем:

На Vector можете не смотреть 🙂

Как хранятся данные

Так что же все-таки такое List? В памяти его можно представить так:

То есть список, в классическом смысле - это тип данных, в котором каждый элемент содержит какой-то контент (например, String, Integer или вообще какой-нибудь объект), а также ссылку на следующий элемент списка.

Зачем?

Основное преимущество списка по сравнению с массивом - его можно легко расширять.

Если у нас есть массив на 3 элемента, а нам вдруг понадобилось положить туда 10 элементов, нам просто придется создавать новый массив на 10 элементов. Только так и никак иначе! ;(

Но со списками все по-другому. Мы можем свободно добавлять элементы в начало, середину или конец списка. Все потому, что для массива нам нужен один "сплошной" участок памяти, и чтобы его расширить, придется искать другой "целый" кусок памяти. Но с List проще - мы просто меняем ссылки:

Итак, перейдем от теории к практике.

Отличие ArrayList и LinkedList

Не вдаваясь в подробности, запомните, что:

  • LinkedList лучше использовать, если Вы знаете, что будете часто добавлять и удалять элементы из списка.
  • ArrayList лучше использовать, если Вам главное иметь быстрый доступ к элементам списка.

Синтаксис

или

Обратите внимание, что в скобках мы задаем тип данных, который будет храниться в списке:

В наших примерах это String, но Вы можете задать любой другой.

Кстати, далее мы будем приводить примеры на ArrayList.

Добавление элемента

Как добавлять элемент в список? Для этого используется метод add():

Кстати, мы можем добавлять в список не только элемент класса, который мы указали, но и всех его классов-наследников.

Например, представим, что у нас есть класс Animal, у которого есть наследник Cat:

Тогда, если указать как принимаемый тип Animal, а положить внутрь Cat - ничего плохого не произойдет:

Удаление элемента

Удалить элемент можно двумя способами - по индексу и по ссылке:

Например, представим, что мы добавляем в наш ArrayList строчку "Hey":

Чтобы удалить ее, мы можем обратиться по индексу (индекс первого элемента - ноль):

myArrayList.remove(0);

или написать "Hey" как аргумент:

myArrayList.remove("Hey!");

И так, и так наш элемент будет удален.

Проход по списку

Итак, давайте завершим наш урок проходом по списку. А то мы все добавляли, удаляли, а наглядно посмотреть работает оно или нет не могли 🙂

Давайте рассмотрим самый простой способ - пройтись по списку с помощью цикла for:

Здесь у нас в списке лежит только один элемент - строка "Hey". Давайте запустим:

Отлично! Добавим еще что-нибудь:

Запускаем:

Замечательно - теперь удалим что-нибудь:

Получим:

Хорошо, теперь Вы знаете как работать с List-ми. Поэкспериментируйте с ними у себя в программе!

Также предлагаем Вам прочитать еще одну нашу статью по ArrayList, которая называется "Что такое Arraylist"


Надеемся, что наша статья была Вам полезна.  Можно записаться к нам на курсы по Java на сайте.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr
Самоучители--узнать детальнее--