Удалить и вставить

  • 5
  • Недоступна
Манипулировать списками в Java — почти так же легко и приятно, как людьми! Ладно, сейчас о списках. Вот что нужно сделать: создать список, добавить в него 5 строк. Затем удалить последнюю строку и вставить её в начало. Повторить манипуляцию 13 раз и вывести на экран содержимое списка. Зачем? Не задавайтесь этим вопросом, просто поверьте: так нужно.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (238)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alexx Dorofeev
Уровень 9, Санкт-Петербург
5 июня, 11:16
Чем дальше в лес, тем больше задачи сводят с ума. Решил так:
il = (ms.size()-1); //4 получили индекс последней строки
ms.add(0, ms.get(il)); //вставляем последнюю строчку в начало массива
ms.remove(il+1); // удаляем последнюю строку
Dim
Уровень 16, Житомир, Украина
21 марта, 19:54
подскажите если я пишу так, то верно ли данное решение? валидатор принял, но что-то меня терзают сомнения
list.add(0,list.get(4));
list.remove(5);
Тарас Шкарапут
Уровень 17, Ульяновск, Россия
27 марта, 15:35
Верно. 👍
Anthon Petrow QA Manual Engineer в inDriver
21 апреля, 23:45
почему? все правильно указаны индексы. Напоминаю, что в массиве индексы начинаются с 0
Евгений Кудрин Android Developer
18 марта, 08:06
strings.add(0, strings.get(strings.size() - 1)); Так делать легально?
Тарас Шкарапут
Уровень 17, Ульяновск, Россия
27 марта, 15:36
Я так и сделал - валидатор доволен))
Валерий
Уровень 16
16 апреля, 20:24
так даже правильнее с точки зрения того, что количество строк нам обычно неизвестно. Соответственно такой код можно применить и к массиву большего или меньшего размера без редактирования кода, а пример который javaRush выдает за правильное решение честно говоря не очень.
Артур
Уровень 8, Екатеринбург, Россия
7 марта, 04:27
Или условия поставлены некорректно или я не понимаю как работают списки, но условие №3 " Выполни 13 раз: удалить последнюю строку и вставить её в начало." следует понимать "Выполни 13 раз: вставь последнюю строку в начало списка и затем удали последнюю строку из конца списка". И задача будет решена.
Gela Chrikishvili
Уровень 13, Москва, Россия
21 февраля, 19:14
Работа со списками на Java Отличный сайт который помог разобраться и сделать решение очень кратким и лаконичным.
Eduard Sharipov
Уровень 23, Уфа, Россия
16 февраля, 12:41
Если выводит это, то решение правильное) по крайне мере у меня так) дочь программа машина дедушка бабушка
Дмитрий
Уровень 9
9 февраля, 17:45
Эх, опять условие задачи подвело. мучался над задачкой почти час. Помог комментарий понять с выражением array.add(0,array.remove(4));
Asankheya
Уровень 14, Mainframe
3 февраля, 20:23
взять(4), вставить(0), удалить(5).
Anton
Уровень 15, Россия
28 января, 10:50
String string = strings.remove(4);
strings.add(0, string);
Я во втором цикле добавил переменную String, которой присваивал значение последнего элемента массива А в этом решении элемент лишь удаляется и добавляется. А как программа узнает, что именно добавить в начало массива, если этот элемент ранее был удален, и на него нет явных указаний? То есть, мы ей не говорим, что именно поместить в начало.
Никита Купцов
Уровень 8, Санкт-Петербург
6 марта, 13:57
я сначала заменял данные, а потом удалял последний
ConsT
Уровень 20
25 января, 11:32
Задача имеет явную ошибку в формулировке, что приводит к недопониманию. Вместо "вставить..." следует читать "добавить...". Так как вставка первым элементом по смыслу предполагает замену имеющегося, первого элемета, что замыслу задачи не верно!
Эдуард Хазиев
Уровень 17
6 марта, 09:24
Если честно, я думаю, у значительного большинства решивших, с этим не было ни каких проблем. Если нужно произвести замену, то пишут "заменить". А вставить это означает куда-то, между чем-то и чем-то, но никак не вместо чего-то. В данном случае можно представить очередь перед дверьми в магазин, нам нужно удалить из очереди последнего человека и вставить в начало очереди, т.е. между первый человеком и дверью. тогда бывший первый станет вторым и т.д.... И еще слово "добавить" мне интуитивно кажется, что в общей массе чего-то должно стать больше, а у нас остается такое же кол-во элементов. Поэтому хочу выразить свое скромное несогласие, без обид )))
MartineZ
Уровень 17
17 апреля, 21:06
так ты же сначала удаляешь(по крайней мере так написано в задаче), то есть строк становится 4, а потом добавляешь до 5. Вот их и становится больше=))