A
Android under the hood
@android_under_the_hood1.6K подп.
2.5Kпросмотров
14 сентября 2025 г.
📷 ФотоScore: 2.8K
LinkedList. Связанный список устроен весьма просто: каждый объект хранит ссылку на следующий кроме последнего: class Node( val value: Int, var next: Node? = null ) // всегда ссылается на первый элемент val root = Node(1) // добавляем в список значения root.next = Node(2) root.next.next = Node(3) root.next.next.next = Node(4) // у последнего next равен null root.next.next.next.next // null Список при этом может быть динамический, так как достаточно хранить ссылку токо на первый элемент, до остальных можно добраться с помощью простого цикла: // root - ссылка на первый элемент val node: Node? = root // цикл для прохода по всем значениям списка while (node != null) { // выводим значение элемента println(node.value) // идем к следующему node = node.next } В итоге объекты могут храниться в любой части памяти так как в них буквально зашиты адреса на следующие значения в отличии от массивов, где нет подобных ссылок, а навигация происходит по индексам, что и требует последовательного хранения. P.S. Есть еще двусвязный список в котором помимо ссылки на следующее значение, есть еще ссылка на предыдущее. Всем хорошего кода!
2.5K
просмотров
1152
символов
Нет
эмодзи
Да
медиа

Другие посты @android_under_the_hood

Все посты канала →
LinkedList. Связанный список устроен весьма просто: каждый о — @android_under_the_hood | PostSniper