|
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 12
|
||||||||||||||||
Собственный список и коллекции23.04.2013, 22:57. Показов 2960. Ответов 15
Метки нет (Все метки)
Проблема в следующем:необходимо было создать свое подобие List любым доступным способом, но не отссылаясь на существующую в Java util.collection
С этой задачей вроде разобралась, но теперь нужно список реверсировать, а потом еще и зациклить. Нашла решение в виде Collections.reverse и Collections.rotate.Но компилятор ругается и не понимает, что я от него требую. Можно ли вообще применять в моем случае реверсы и ротейты? Если, да, то в чем моя ошибка? Мэйн
Список
0
|
||||||||||||||||
| 23.04.2013, 22:57 | |
|
Ответы с готовыми решениями:
15
Создать собственный контейнер список Как получить список вместо коллекции |
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
| 24.04.2013, 03:09 | |
|
Статический метод Collections.reverse принимает в качестве параметра что-то реализующее интерфейс List<?>. Чтобы использовать этот метод с вашим классом, вам нужно реализовать этот интерфейс в классе SList.
Остальные методы аналогично.
0
|
|
|
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 12
|
||||||
| 24.04.2013, 22:44 [ТС] | ||||||
|
.::.DIMA.::., Добавила свой интерфейс, но компилятор все равно ругается.
0
|
||||||
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
||
| 25.04.2013, 02:05 | ||
|
0
|
||
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
||||||
| 26.04.2013, 18:17 | ||||||
|
Nayah, как сказал blackhard27, я имел ввиду стандартный интерфейс List<E>.
В вашем случае это будет выглядеть вот так:
У вас есть второй путь - унаследовать свой класс от AbstractList<E>. В этом случае вам нужно реализовать методы get(int) и size(). Если вы планируете модифицировать список (Collections.reverse() модифицирует), то нужно переопределить метод set(int, E). И желательно реализовать методы add(int, E) и remove(int), если список переменной длины. Проделать все эти шаги не столько полезно для вашего задания, сколько для понимания устройства коллекций в Java. Если вы не хотите всё это делать, то самый простой путь - реализовать нужные методы самостоятельно.
0
|
||||||
|
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 12
|
|
| 26.04.2013, 18:27 [ТС] | |
|
.::.DIMA.::., мне совсем нельзя использовать существующие коллекции, поэтому и AbstractList не подойдет. Я думала, что можно как-то обойти момент наследования от стандартного листа - слишком наивная мысль) Будем пробовать ручками.
В таком случае лучше использовать цикл или рекурсию?
0
|
|
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
|
| 26.04.2013, 18:50 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 12
|
|
| 26.04.2013, 18:55 [ТС] | |
|
blackhard27, из (1 2 3) получить (3 2 1), реверсировать список
0
|
|
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
||
| 26.04.2013, 19:07 | ||
|
В вашем задании намного очевиднее использование циклов.
1
|
||
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
||
| 26.04.2013, 19:12 | ||
![]() Для реверсирования рекурсией я бы использовал такой алгоритм: делим количество элементов пополам и относительно полученного значения реверсируем обе части.
1
|
||
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
||
| 26.04.2013, 19:27 | ||
|
0
|
||
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
||
| 26.04.2013, 19:56 | ||
0
|
||
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|||
| 26.04.2013, 20:09 | |||
|
А по поводу рекурсии в общем, понятно, что есть алгоритмы, в которых без рекурсии решение намного усложняется, например, ваш пример с поиском в ширину.
0
|
|||
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
|
| 26.04.2013, 20:25 | |
|
0
|
|
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
| 26.04.2013, 20:28 | |
|
Извините, сразу не совсем понял, что вы имеете ввиду
0
|
|
|
31 / 31 / 10
Регистрация: 01.03.2013
Сообщений: 61
|
|
| 26.04.2013, 20:55 | |
|
.::.DIMA.::., это я не совсем правильно выразился
0
|
|
| 26.04.2013, 20:55 | |
|
Помогаю со студенческими работами здесь
16
Вывести список книг автора, находящихся в коллекции Даны натуральное число n и однонаправленный список из 50 целых чисел. (Коллекции) Удаление элемента коллекции в коллекции коллекции ) Пустой Список Элементов Редактора Коллекции: Items при создании ContextMenu для ListBox Сделать сортировку коллекции вместо создания новой коллекции с передачей IOrderedEnumerable<T> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию. . .
|