![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Akonkagva |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 4.1.2008 Репутация: нет Всего: нет |
Собственно начал изучать разницу между массивом и связанным листом и возник вопрос по тому как пользоваться им, хотелось бы конкретный простой примерчик(по LinkedList). Погуглив в нете я нашёл массу с примеров, но хм эти примеры они как будто бы с нуля создают связанный лист, который уже описан в документации((
Непонимаю почяму просто неиспользовать что то типо:
Ниже ресурсы откуда я черпал информацию... ссылка 1 ссылка 2 ссылка 3 Зачем использовать сверх сложные конструкции я непонимаю, возможно да и скорее всего я что-то недопонимаю... Буду признателен за обьяснение ! Это сообщение отредактировал(а) Akonkagva - 7.11.2009, 21:37 |
|||
|
||||
duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: 4 Всего: 4 |
Akonkagva, так что Вам не понятно, если Вы сами написали пример использования списка?
|
|||
|
||||
Akonkagva |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 4.1.2008 Репутация: нет Всего: нет |
Мне непонятно зачем другие в качестве примеров используют столь сложные, нереально непонятные примеры...
|
|||
|
||||
duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: 4 Всего: 4 |
Я откуда знаю? Сами коллекции достаточно простые, чтоб разобраться с ними используя Java документацию.
|
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 4 Всего: 28 |
LinkedList он же связанный список = это пример списка, где элемент списка "знает" где находится следующий или предыдущий элемент списка. Массив не является связанным списком, поскольку элемент массива "не знает" кто является следующим за ним в списке. Правило обхода массива неявно задается индексом массива.
Связанные списки бывают однонаправленные (элемент знает следующего или предыдущего) и двунаправленные (элемент знает и предыдущего и последующего). В нутрях выглядит примерно так:
Стандартный java.util.LinkedList реализует двунаправленный связанный список. Уровень абстрагирования в стандартном java.util.LinkedList такой, что связанность списка видна только при использовании итератора, а так снаружи он выглядит как обычный список - где правило обхода фактически соответствует индексу списка. Связанные списки обычно удобно использовать для древообразных структур данных, самый простой и понятный пример файловая система, когда каждый кластер "знает" кто за ним следующий кластер того или иного файла. -------------------- Aut viam inveniam aut faciam |
|||
|
||||
sergioK |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
1, в массиве данные находяться последовательно в памяти , скажем нyлевой элемент по адресу АА00 первый AA04 - второй AA08 (т,е, прибавляеться кол-во байт элемента массива ) в списке они разбросаны , т,е next - это поинтер на следующий элемент 2, внесение нового элемента или стирирание требует сдвигания массива , в ArrayList это делают за вас , т,е, происходит реалокация памяти , и делать это часто то могут возникнуть проблемы , что бы избежать это и был придуман LinkList, связаный список делает это одной операцией т,е O(1) а не O(n) , 3, Советую почитать Керниган, Ричи , чтобы почувсвовать что такое LinkList Вопрос не по теме , сегодня уже перестали преподавать С? про асемблер я даже спрашивать боюсь ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |