JavaRush/Java блог/Архив info.javarush/Уровень 7: план уровня и доп. материалы
hubert
41 уровень

Уровень 7: план уровня и доп. материалы

Статья из группы Архив info.javarush
участников
План уровня:
  • Массивы и списки: Array, ArrayList, знакоство с Generics
  • Массивы: создание, инициализация.
  • Работа с массивами, length.
  • Статическая и динамическая инициализация массива.
  • Список ArrayList, внутренняя реализация, отличие от массива.
  • Работа с ArrayList-ом. Методы add(value), add(index, value), remove(index), size()
  • Знакомство с Generics - использование
  • Сопоставление примитивных типов с их непримитивными аналогами-классами
  • Создание и использование параметризированных списков
  • Знакомство с Collections
  • Цикл for each

Курс Java
На этом уровне изучается обзор коллекций. Детальное углубленное изучение будет на 30+ уровнях. Что еще можно посмотреть на досуге: Удаление элементов из списка и ConcurrentModificationException Примитивы и обертки Немного о строках в Java Основные методы для работы со String Класс Collections Почитать про массивы и списки
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!

Вернуться к плану обучения
Вернуться к обучению java онлайн на JavaRush
Комментарии (48)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Bazil1982
Уровень 10
22 июня 2018, 09:52
Про Java Collections Framework: почти все и сразу. Статья дает понимание того что такое Java Collections Framework.
24 июня 2018, 02:33
Спасибо за ссылку
Vafo
Уровень 6
Expert
11 ноября 2023, 19:45
ссылка не актуальна, есть ещё какие нибудь?
snuk
Уровень 15
26 октября 2017, 09:03
Товарищи, не верьте интуиту, они мелкие и гнусные врунишки, вводящие неокрепшие умы в заблуждение =) Они утверждают «Если бы индекс превысил максимально возможное для такого массива значение, то появилась бы ошибка времени исполнения» но тут будет ArrayIndexOutOfBoundsException! А это разные вещи. Всегда проверяйте полученную информацию, сперва в своей ИСР, если там не компилится — используйте загуглю =)
lichMax
Уровень 40
26 октября 2017, 20:43
это ошибка времени исполнения. RuntimeException. Что Вам непонятно?
snuk
Уровень 15
27 октября 2017, 09:23
При обращении к несуществующему индексу ошибка времени исполнения?
lichMax
Уровень 40
29 октября 2017, 13:41
учите иерархию экспешенов в джаве

ЗЫ Хотя… что по вашему означает «времени исполнения»? Они все возникают во время исполнения программы.
snuk
Уровень 15
30 октября 2017, 08:57
По иерархии да. Но это конкретная ошибка конкретного действия. С таким же успехом, можно было глядя на иерархию, заявить что это unchecked Exception. ArrayIndexOutOfBoundsException иерархическую принадлежность ко времени исполнения имеет, но это слишком общее.
что по вашему означает «времени исполнения»? Они все возникают во время исполнения программы.
вот потому и надо понимать, это это ошибка выхода за границы массива, а не времени исполнения, что может являться чем угодно, опускаясь по иерархии.
lichMax
Уровень 40
30 октября 2017, 20:18
Но вместе с тем она является ошибкой времени исполнения

ЗЫ какую-то странную демагогию развели на пустом месте
snuk
Уровень 15
30 октября 2017, 20:28
В общем-то да =) Предлагаю на этом ее и закончить, думаю что выводы, все кому надо, сами смогут сделать =) Я по крайней мере еще раз освежил в памяти иерархию исключений…
Skiff
Уровень 11
8 февраля 2017, 17:10
На текущий момент в Java Syntax 7 уровень, 5 лекция. Везде по ходу текста ошибка при объявлении списка.
ArrayList list = new ArrayList();
то есть без указания типа. Должно же быть
ArrayList<String> list = new ArrayList<String>();


Будучи новичком попался на этом измучив вдоль и поперек следующие две задачи, пока не подсказали.
cold-f
Уровень 22
3 ноября 2016, 14:41
https://youtu.be/87pm79sPSvc — видео, которое мне наглядно объяснило, что такое дженерики, и какие там есть подводные камни.
firstprime
Уровень 22
22 января 2017, 00:02
Cпс. Видео зашло норм). Из урока на сайте сложилось впечатление, что дженерики это какая-то редко используемая фигня. Видео исправляет это заблуждение. Бонусом введение в коллекции. В общем рекомендую к просмотру.
KirillLB
Уровень 9
20 мая 2016, 12:18
Не до конца понял решение (по комментариям) проблемы описанной здесь stackoverflow.com/questions/223918/iterating-through-a-collection-avoiding-concurrentmodificationexception-when-re

Может кто-то пояснить?
teacher5555
Уровень 20
21 июня 2016, 21:39
Судя по всему проблема в том, что тот способ удаления элемента из коллекции, указанный автором, является некорректным. Чуть ниже товарищи предложили решение

for (Iteratoriterator = list.iterator(); iterator.hasNext();) {
String string = iterator.next();
if (string.isEmpty()) {
// Remove the current element from the iterator and the list.
iterator.remove();
}
}

как я понял использующее интерфейс Iterator. В итоге я код переписал так:

for (int i = 0; i < 10; ++i) {
l.add(4);
l.add(5);
l.add(6);
}
for (Iteratoriterator = l.iterator(); iterator.hasNext();) {
Integer num = iterator.next();
if (num == 5) {
// Remove the current element from the iterator and the list.
iterator.remove();
}
}

System.out.println(l);
}

После чего компилятор удалил все «5» из коллекции и вывел на экран, что осталось, что и требовалось.

В итоге, что хотели от нас парни из JavaRush:
1) Обратить внимание, что есть крутой сайт stackoverflow.com/
2) Учить английский ))
3) Запустить код автора вопроса и посмотреть что будет
4) Немного покурить тему интерфейсов, коллекций (мы это ещё будем проходить) и попробовать исправить код автора. Пока до деталей не понятно, но идея ясна.
sunchoss
Уровень 24
26 апреля 2016, 10:17
а где сама лекция? вижу только содержание
vlad55
Уровень 10
2 апреля 2016, 11:52
Сортировка массива.очень полезная ссылка
study-java.ru/uroki-java/urok-11-sortirovka-massiva/
Pegas
Уровень 34
7 января 2016, 13:56
В чем отличие
{
String d = list.get(i);
list.add(i,d);
}

от
{list.add(i,list.get(i));}

Дело в том, что при первом варианте кода программа работала правильно, а при втором варианте — нет. Вопрос: почему list.get(i) нельзя сразу вставить в функцию list.add?
mrserfr
Уровень 33
7 января 2016, 14:40
Отличий нет, должно быть все одинаково. Полный код выложи, может с ним связано, что корректно у тебя не отрабатывало
snuk
Уровень 15
6 декабря 2015, 14:46
Массивы: создание, инициализация(из лекции)
В линке в статье ошибка. А именно:
for (int i = 0; i < a. length; i++ System.out.println (a[i]);
Неверно. В условие цикла компилятор не принимает подобного, но можно сделать так:
for (int i = 0; i < result.size(); i++) System.out.println(result.get(i));
Но это может привести к ухудшению читабельности.
bezobid
Уровень 41
6 ноября 2015, 20:35
у меня одного в этой статье вместо примеров кода такая ерунда? Тоже код конечно, но не тот…

blizzard
Уровень 26
29 ноября 2015, 12:12
нет, у меня тоже. Че-то там с версткой.
snuk
Уровень 15
11 декабря 2015, 19:53
Это не верстка. Это плагин highlighter. У меня он тоже не работает, точнее выдает такой же html код верстки. Не знаю как поправить, чтобы отображалось верно, но чтобы прочитать что там «зашифровано/закодировано», берется этот код, заталкивается в txt файл, сохраняется в расширении .html и открывается браузером. Результатом будет подсвеченный синтаксис java кода.