Топ-3 важнейших навыка программиста

Мы все представляем себе "хорошего программиста" как персону, обладающую примерно вот таким списком качеств и умений: - знает (и не один!) язык программирования- виртуозно пользуется компьютером и разными гаджетами- проявляет…

Продолжить чтениеТоп-3 важнейших навыка программиста

Как пользоваться Collectors.groupingBy при работе со stream()?

Collectors.groupingBy — это метод, который используется для группировки элементов потока (Stream) на основе заданного критерия. Он позволяет создать Map, где ключом будет выступать значение, возвращаемое функцией группировки, а значением —…

Продолжить чтениеКак пользоваться Collectors.groupingBy при работе со stream()?

Чем занят spliterator()?

Поговорим про Stream API. Верно ли, что для работы stream() нужет spliterator()? Или это неверное утверждение? На самом деле, для работы stream() напрямую Spliterator не обязателен. Однако Spliterator — это…

Продолжить чтениеЧем занят spliterator()?

Кто придумал ООП?

Объектно-ориентированное программирование (ООП) зародилось в 1960-х годах благодаря работе Оле-Йохана Даля и Кристена Нюгорда, двух норвежских компьютерных ученых. Они разработали первый объектно-ориентированный язык программирования Simula (в версии Simula 67). Этот…

Продолжить чтениеКто придумал ООП?

О чем может поведать map?

Английское слово "map" переводится на русский как "карта". Но в программировании оно также может подразумевать: Отображение или сопоставление — поскольку в структуре данных Map каждому ключу сопоставляется определённое значение, что…

Продолжить чтениеО чем может поведать map?

Это карта сокровищ?

Для чего, для каких задач используют Map<K, V> ? Интерфейс Map<K, V> и объекты на основе его реализаций – HashMap< K, V> или TreeMap<K, V> в Java используется для хранения…

Продолжить чтениеЭто карта сокровищ?

Что это у нас выросло? А, это красно-черное дерево!

Красно-черное дерево — это особый вид бинарного дерева поиска, который "самобалансируется", чтобы сохранить быструю скорость работы для основных операций: вставки, удаления и поиска. Балансировка помогает сделать все действия эффективными даже…

Продолжить чтениеЧто это у нас выросло? А, это красно-черное дерево!

И немного о рекурсии…

Роберт К, один из моих лучших учеников, подготовил рассказ о рекурсии, которую не так уж часто используют, и уж совсем редко объясняют... https://youtu.be/f3fRCjB4Evk

Продолжить чтениеИ немного о рекурсии…

Задача: Найти общих друзей двух пользователей

Вот задача, которая требует применения HashSet для решения проблемы на основе пересечений множеств. Задача: Найти общих друзей двух пользователей Описание В социальной сети у каждого пользователя есть список друзей. Напиши…

Продолжить чтениеЗадача: Найти общих друзей двух пользователей

Слияние и сортировка списков чисел

Вот интересная задача на слияние двух ArrayList: Задача: Слияние и сортировка списков чисел Напишите программу, которая объединяет два списка целых чисел (ArrayList<Integer>), удаляет из объединенного списка дубликаты и сортирует его…

Продолжить чтениеСлияние и сортировка списков чисел