Konstantin Shibkov
Konstantin Shibkov
  • 12
  • 209 657
Как сравнивать, скопировать и перевернуть массив в Java
Подробный разбор трех вопросов:
1. Как сравнить одномерные и многомерные массивы?
2. Как сделать копию массива с помощью метода copyOf
3. Два варианта переворота порядка элементов в массиве.
Готовые решения из видео:
1. Сравнение одномерных массивов gist.github.com/sendelufa/ac62c62462b1c918e12625494e073bf7
2. Сравнение многомерных массивов gist.github.com/sendelufa/2132f35f5a57a1078d980368f9cad088
3. Копирование массивов
gist.github.com/sendelufa/7d18d5758c01cb6ca4b2dfc3dd3dc2f6
4. Переворот порядка элементов в массиве
gist.github.com/sendelufa/4ff2d9ab844d0944698839235ecf1220
Подписывайтесь на мой телеграм канал Три монитора:
t.me/three_monitors
Таймкоды:
00:00 Привет
00:14 Как сравнить одномерные массивы
04:40 Arrays.equals()
05:34 Arrays.deepEquals()
06:55 Как скопировать массив?
09:19 Arrays.copyOf()
11:21: Как перевернуть массив?
11:36 Переворот с созданием нового
14:40 Переворот элементов без создания нового
19:04 До скорых встреч
Переглядів: 681

Відео

Массивы в Java | Задача с LeetCode, поиск максимального, поиск первого индекса по значению
Переглядів 6225 місяців тому
Решаем три задачи с подробным разбором и проверкой решения, которые могут встретиться на собесе Джуниор Java разработчику: 1. Поиска максимального целочисленного значения в массиве 2. Поиск первого индекса равному переданному значению в массиве 3. LeetCode 1299. Заполнение массива значениями сумм всех правых элементов массива (Replace Elements with Greatest Element on Right Side) leetcode.com/p...
Массивы в Java | Основы и база
Переглядів 1 тис.5 місяців тому
Из этого видео вы узнаете Что такое массив, почему они важны, как объявить, создать и перебрать в прямом и обратном направлении. Используется среда разработки IntelliJ IDEA, но можно использовать любую другую. Текстовая версия видео: 🧾 sendel.ru/posts/arrays-in-java Таймкоды: 00:00 Место массивов в Java 01:14 Особенность 1: Фиксированный набор элементов 01:36 Особенность 2: Прямой доступ по инд...
Парсим JSON и XML в Java библиотеками Gson, Jackson, JAXB [Вебинар]
Переглядів 2,5 тис.8 місяців тому
Вебинар для студентов курса Java-разработчик на платформе Skillbox.ru skillbox.ru/ Тема "Работа с текстовыми форматами JSON и XML в Java. Сериализация и десериализация с использованием библиотек GSON, Jackson, JAXB" - Разбираем синтаксис JSON/XML - Викторина на понимание синтаксиса :) - Простой парсинг курсов валют в record с использованием аннотаций - Пишем адаптер для сериализации/десериализа...
Паттерны Декоратор и Прокси - Встреча клуба JavaKeyFrames [12 октября 2023]
Переглядів 5878 місяців тому
Каждую неделю встречаемся в телеге и решаем алгоритмические задачи в leetcode и просто общаемся, разбирая интересующие темы. Присоединяйтесь: t.me/JavaKeyFrames В этот раз обсудили паттерны Декоратор и Прокси. Обсудили душную теорию, написали код на Java. Посмотрели на диаграммы и в итоге для себя определили - паттерны так похожи, но в чем их разница. Это первая запись встречи клуба за 1.5 года...
Решаем тестовое задание от работодателя (Spring Boot, Docker)
Переглядів 22 тис.2 роки тому
Вебинар для студентов курса Java-разработчик на платформе Skillbox.ru skillbox.ru/ Тема "Тестовое задание от работодателя. Обсуждаем и пишем решение" Спикер: Шибков Константин Полезные ссылки: 🍀 Spring Initializer start.spring.io/ 📫 Postman www.postman.com/ Презентация: github.com/sendelufa/webinars/blob/master/testwork.pdf Проект с которым работали не вебинаре: gitlab.com/shibkov.k/pastebox 00...
Терминал WARP - красиво, быстро, умно!
Переглядів 3,6 тис.2 роки тому
Краткий обзор терминала Warp для macOS. www.warp.dev В итоге оставил как основной терминал на macOs, рекомендую :) Основные особенности: - обертка для ssh соединений, у вас будут все ваши фишки терминала при удаленных подключений - подсказки для команд с кратким описанием в виде всплывающих списков - быстрая навигация по истории вывода в консоль - есть возможность поделиться выводом команды в к...
Liquibase + Spring Boot ➡ Настройка и написание миграций
Переглядів 30 тис.2 роки тому
Если у вас вопросы: Что такое миграции БД? Как настроить Liquibase Spring Boot? Как писать файлы миграции? В этом видео найдете ответы Репозиторий с основой проекта: ➡ github.com/sendelufa/lesson-liquibase-start Получившийся проект по окончанию видео примеры миграций на SQL/XML (ветка result): ➡ github.com/sendelufa/lesson-liquibase-start/tree/result Текстовая версия видео: 🧾 sendel.ru/posts/li...
Установка и настройка Git в Windows 10
Переглядів 131 тис.3 роки тому
Установка системы контроля версий Git в Windows 10. Минимальная настройка перед работой. ⏬ Скачать git клиент: git-scm.com/ 🧾 Команды для ввода данных о пользователе git глобально git config global user.email "you@example.com" git config global user.name "Your Name" 🧾 Текстовая версия: sendel.ru/posts/install-git-windows/ 00:00 Вступление 00:10 Скачивание Git 00:35 Старт установки Git 00:53 Выб...
Внедрение Spring Security в приложение Spring Boot
Переглядів 6 тис.3 роки тому
Подключение Spring Security к готовому приложению - разбор Http Basic Authentication - работа с InMemory пользователями - разграничение доступом по Role - разграничение доступа по Authorities (permissions) - настройка доступов к запросам через antMatchers и @PreAuthorize - получение данных пользователя для авторизации из базы данных - реализация REST метода контроллера для логина пользователя -...
Install JDK 11 after JDK 8 with add PATH variable for default JDK11 execute from console
Переглядів 11 тис.4 роки тому
Command for check version JDK by default: java -version

КОМЕНТАРІ

  • @user-pq6zd1oz3f
    @user-pq6zd1oz3f День тому

    Блин, вангую через год как минимум 100 тысяч подписчиков, самое классное и подробное объяснение для таких же недалеких как я, а недалеких всегда больше))) Спасибо Вам!

  • @AlexeiEryomin
    @AlexeiEryomin 4 дні тому

    Не понимаю почему так мало просмотров.

  • @azizaqorjovova9920
    @azizaqorjovova9920 5 днів тому

    Здравствуйте у меня блокнот не открывается git commit

    • @KonstantinShibkov
      @KonstantinShibkov 5 днів тому

      А что у вас открывается? Попробуйте без редактора сделать сообщение git commit -m "сообщение к коммиту"

  • @dkavlakov
    @dkavlakov 22 дні тому

    > Oops! We were unable to sign you in. Please try again. На конец то, всегда мечтал запуская терминал получать окно браузера с таким сообщением!

    • @KonstantinShibkov
      @KonstantinShibkov 22 дні тому

      да, терминалы прям как любой сервис, хочет наши данные)

  • @user-yf2er5vr8q
    @user-yf2er5vr8q Місяць тому

    а где видео по созданию блога

  • @valulka
    @valulka Місяць тому

    Классное видео и статья тоже!❤

  • @ezforjk7964
    @ezforjk7964 Місяць тому

    Очень круто! Все доходчиво и понятно!

  • @user-lv2kk2qj2n
    @user-lv2kk2qj2n Місяць тому

    Вы очень понятно объясняете,ждем еще больше видео уроков!

  • @user-vo2cb5xc3q
    @user-vo2cb5xc3q Місяць тому

    Константин, вы реально круто и доступно рассказываете, очень жаль, что так мало аудитории

  • @user-ut3nv5rx9p
    @user-ut3nv5rx9p 2 місяці тому

    Константин,Вы лучший

  • @sergeinerobeev3501
    @sergeinerobeev3501 2 місяці тому

    И еще огромное спасибо за сайт и статью о переходе на VSC 👍🏻🔥🔥🔥

  • @uamurphy
    @uamurphy 2 місяці тому

    Подскажите, как включить автозаполнение в yaml файлах как у вас?

    • @KonstantinShibkov
      @KonstantinShibkov 2 місяці тому

      Это стандартная возможность для Idea Ultimate. У вас какая версия редактора?

    • @uamurphy
      @uamurphy 2 місяці тому

      @@KonstantinShibkov Ultimate

    • @KonstantinShibkov
      @KonstantinShibkov 2 місяці тому

      @@uamurphy попробуйте поставить плагин plugins.jetbrains.com/plugin/23741-liquibase

    • @uamurphy
      @uamurphy 2 місяці тому

      @@KonstantinShibkov спасибо, буду пробовать)

  • @user-ru6mp1hk7l
    @user-ru6mp1hk7l 2 місяці тому

    одна из самых лучших лекций благодарю!

  • @katveran4441
    @katveran4441 3 місяці тому

    Спасибо! Самое понятное объяснение даже не для программиста и технаря, а для медика-мамы в декрете!

  • @user-sw3cv1yk4d
    @user-sw3cv1yk4d 3 місяці тому

    Спасибо за подробное объяснение! Четко и по делу!)

  • @atlasiV
    @atlasiV 3 місяці тому

    🤯

  • @AnastasiaChoise
    @AnastasiaChoise 3 місяці тому

    Спасибо!

  • @user-fi6vg8mc7g
    @user-fi6vg8mc7g 3 місяці тому

    День добрый, Константин! У меня выдает данную ошибку. PS C:\Users\serzh> java -version "java" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правил ьность написания имени, а также наличие и правильность пути, после чего повторите попытку. строка:1 знак:1 + java -version + ~~~~ + CategoryInfo : ObjectNotFound: (java:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\serzh> IntelliJ IDEA была скачана на офицальном сайте безоплатная версия

  • @anjelomanoranjan
    @anjelomanoranjan 3 місяці тому

    Спасибо) полезные урок! Жду новых видео по Java

  • @John.Constantine.777
    @John.Constantine.777 3 місяці тому

    полагаю преподаватель это собеседование не прошел...

    • @KonstantinShibkov
      @KonstantinShibkov 3 місяці тому

      Почему такое предположение?)

    • @John.Constantine.777
      @John.Constantine.777 3 місяці тому

      ​@@KonstantinShibkov задание то не выполнено до конца.

    • @KonstantinShibkov
      @KonstantinShibkov 3 місяці тому

      @@John.Constantine.777 такой шанс есть, это точно. Но сдавать и в таком виде можно, в таком случае получившийся результат тоже много скажет: как пишется код, какие технологии используются.

    • @John.Constantine.777
      @John.Constantine.777 3 місяці тому

      @@KonstantinShibkov сам изучаю Java в зрелом возрасте уже 1.5 года. Обхожусь видео-курсами, статьями и ютюбом. Спасибо, на вашем примере разобрался таки в связке IDEA + Spring + Git + Dock + Mockito. А то все было по отдельности до этого.

  • @DemetriuszStrykowski
    @DemetriuszStrykowski 3 місяці тому

    Это самое ЛУЧШИЕ объяснение по установке Git из тех, что попадаются в русскоязычном сегменте UA-cam!!!

  • @anatoliyzakharov5727
    @anatoliyzakharov5727 4 місяці тому

    не понял почему в конце в файл вбили 123 ,но он ни где не отобразился

  • @user-lc8dw6qu7r
    @user-lc8dw6qu7r 4 місяці тому

    Perfect. Thanks a lot.

  • @sergeinerobeev3501
    @sergeinerobeev3501 4 місяці тому

    Спасибо! :)

  • @sergeinerobeev3501
    @sergeinerobeev3501 4 місяці тому

    Спасибо! Замечательные уроки!👍

  • @NatashaGerex
    @NatashaGerex 4 місяці тому

    отличное видео, для таких тупых как я. Спасибо!

  • @_rus_ik_
    @_rus_ik_ 4 місяці тому

    А не подскажите, как можно выполнить git pull в среде windows если файлы имеют несовместимые названия? Например сертификаты *.wildcard.cert Я пробовал игнорировать эти файлы и относительные пути к ним , но безрезультатно. Возможно не правильно делал. Спасибо!

    • @KonstantinShibkov
      @KonstantinShibkov 4 місяці тому

      А вам надо игнорировать эти файлы и чтобы они не попали в гит по команде git add? Или не понял, не очень понимаю при чем тут git pull, это команда получает обновления из удаленного репозитория, может не хотите файлы получать) расскажите подробнее

    • @_rus_ik_
      @_rus_ik_ 4 місяці тому

      @@KonstantinShibkov дело в том что ОС win 11 не поддерживает вот такие имена. *.wildcard.cert и я даже не могу клонировать репозиторий. Создается директория, но файлов в ней нет. Под линукс работает все отлично.

    • @KonstantinShibkov
      @KonstantinShibkov 4 місяці тому

      @@_rus_ik_ понял, * нельзя в windows использовать. Как мне известно тут вариант только один - исключение файлы из репозитория, через переименование (если репозиторий вам принадлежит). Или использовать WSL под виндой, это позволяет использовать Linux внутри Windows

  • @nemo417
    @nemo417 5 місяців тому

    6:35 А что такое символьные ссылки? Для чего их можно использовать? И стоит ли их использовать?

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      Когда ты создаешь символическую ссылку на файл или папку, ты делаешь специальный ярлык, который выглядит почти как обычный файл или папка. Но на самом деле он не содержит данных той папки или файла, он просто говорит твоему компьютеру, где найти настоящие данные. Это очень удобно, когда тебе нужен доступ к файлу с разных мест, но ты не хочешь делать много одинаковых копий. Отличие от ярлыка: кто пользуется файлом по символической ссылке не знает, что это просто ссылка на файл)

  • @nemo417
    @nemo417 5 місяців тому

    Спасибо! Очень информативно и лаконично

  • @AlexidalUT
    @AlexidalUT 5 місяців тому

    Супер! Жду про коллекции:)

  • @stefanmuller2069
    @stefanmuller2069 5 місяців тому

    На счет сравнения массива. А как было бы если у первого и второго одинаковое содержание но расположение разное. Например "а" в нулевом индексе а у второго он во втором индесе итд.

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      Первое что приходит в голову - это использовать Map Если у нас массив {1,2,3,3,3,4,5}, то преобразуем в Map 1->1, 2->1, 3->3, 4->1, 5->1, где количество ключ это элемент, а значение это количество вхождений. Так мы учтем возможность дубликатов. А дальше проходим по второму массиву и ищем по ключу, если по ключу ничего не найдено или значение 0, значит такого элемента нет = массивы содержат разные элементы. Если мы вернулось 1 и более, то меняем значение на единицу меньше и дальше идем. Если прошли весь второй массив и не столкнулись с null или 0 -> массивы содержат одинаковые элементы. Конечно, это все с первоначальной проверкой на длину. Так мы используем больше памяти, но количество операций это два прохода: по первому массиву для создания Map и второй раз это проходи по второму.

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus 5 місяців тому

    очень познавательно, тоже когда-то пытался реверснуть массив за минимальное количество шагов. Пришлось*подсмотреть* на Stack overflow 😂

  • @AlexidalUT
    @AlexidalUT 5 місяців тому

    Константин, спасибо! Видео супер!

  • @muryginds
    @muryginds 5 місяців тому

    Мне поравилось такое объяснение: Структуры паттернов «Заместитель» и «Декоратор» очень похожи. Каждый из них содержит ссылку на базовый компонент и делегирует ему выполнение всей работы. Но у этих паттернов разное назначение.​ Декоратор добавляет поведение всем методам интерфейса, позволяя нанизывать расширения одно на другое. Класс-заместитель может выполнять определенные действия, например создавать настоящий компонент по мере необходимости, но он не должен ничего "подмешивать" в результаты исполнения операции.

  • @FlashPointStudio1
    @FlashPointStudio1 5 місяців тому

    О а тут звук как будто получше)

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      а тут был и шумодав и компрессор и немного настройка полос. Видимо надо чище делать, и звучит лучше)

  • @FlashPointStudio1
    @FlashPointStudio1 5 місяців тому

    Качество картинки кайф)) со звуком какие-то артефакты конечно

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      а что именно не так? Чтобы избегать это в дальнейшем. в этом видео минимальные внесены изменения в звук, только шумодав и лимитер.

  • @igorpenkin8662
    @igorpenkin8662 5 місяців тому

    Отличное видео, с кайфом посмотрел. Жду еще подобные

  • @rahug1927
    @rahug1927 5 місяців тому

    Круто объясняете! Жду еще подобные видео!!!

  • @stefanmuller2069
    @stefanmuller2069 5 місяців тому

    Супер это мне нравиться;)

  • @gidnft2678
    @gidnft2678 5 місяців тому

    Классная подача, и качество ролика. Картинка, звук - всё на высоте. Приятно смотреть. Я, разработчик с опытом, поймал себя на том, что 10 минут смотрю как найти максимальное число в массиве 😅

  • @dartRichard
    @dartRichard 5 місяців тому

    теперь у меня есть ссылка чтобы скидывать её в новичковые группы)

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus 5 місяців тому

    классный разбор.... побольше таких видео 🔥🔥

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      спасибо, положительная обратная связь, как и полезная критика помогает быстрее создавать новые видео)

  • @dartRichard
    @dartRichard 5 місяців тому

    Круто. Я не знал, что можно обезопасить себя от null таким образом. 😮

    • @KonstantinShibkov
      @KonstantinShibkov 5 місяців тому

      Это местами призрачная безопасность, если вы про Optional. Хотя уже точно решает вопрос: если метод вернул null - тут точно ошибка)

  • @na.kovalev
    @na.kovalev 5 місяців тому

    Большое спасибо вам! Очень хорошо объясняете!