Метка «коллекции»

Эта статья является продолжением "Итерируем всё вместе с Collection" и здесь я расскажу о встроенном механизме Collection — фильтрах.

Читать полностью »

В современном JavaScript существует целый пласт различных видов итерируемых структур данных:

  • Array
  • TypedArrays
  • Object
  • Map
  • Set
  • String

А также появились генераторы и универсальный протокол @@iterator, который позволят итерировать что угодно и как угодно. И в тоже время для некоторых типов данных (в основном для массивов) определены различные методы для удобной функциональной работы и простого итерирования, например, forEach, map или reduce, и всё было бы хорошо, однако:

  • Большинство методов определены только для массивов;
  • Определяемое API слишком примитивно и не покрывает целый ряд задач;
  • До сих пор скорость выполнения нативных итераторов далека от идеала и существенно уступает реализации на циклах.

Читать полностью »

А что такого можно написать на Scala, чего нельзя на Java?
(из разговора с одним моим знакомым другом, человеком и программистом)

The best reason to learn a new programming language is to learn to think differently.
Chad Fowler

Переход с Java (C++, ..) на Scala (Clojure, Haskell, Erlang ..) как повышение абстракции программирования
Хочу рассказать не о простоте конструкций Scala по сравнению с Java и не о том, что в 1 строчку Scala я могу уместить 20 строк Java. А наоборот, копнуть поглубже, уронить устои ООП и посмотреть на реакцию благородной публики.
Читать полностью »

Доброе время суток, уважаемые читатели Хабра.

Мне очень хочется узнать у Вас, а что Вы А что Вы коллекционируете?коллекционируете, или, возможно, собираетесь коллекционировать? В данном посте-опросе, во многом благодаря Википедии и тематическим ресурсам, систематизированы все наиболее популярные возможности для коллекционирования. Понятно, что собирать Вы можете что угодно, никто не в праве Вам это запретить, и список предметов для коллекционирования практически бесконечен. Но, как мне кажется, очень грустно и одиноко собирать что-то одному, не имея возможности сравнить свою коллекцию с кем-то, кто собирает тоже самое, или совершать взаимовыгодные обмены предметами коллекционирования. Если Вы ничего не коллекционируете, думаю, Вам будет интересно почитать, что же такое собирают там эти чудаки. А, может, пришло время стать одним из них? Читать полностью »

С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать полностью »

Мне было интересно, какие коллекции сколько съедают дополнительной памяти при хранении объектов. Я провёл замеры накладных расходов для популярных коллекций, предполагающих хранение однотипных элементов (то есть списки и множества) и свёл результаты на общий график. Вот картинка для 64-битной Hotspot JVM (Java 1.6):
Накладные расходы памяти у коллекций
Читать полностью »

Нередко случается, что какие-то данные программа загружает в память и оставляет их там надолго (а то и до конца работы) в неизменном виде. При этом используются структуры данных, оптимизированные как для чтения, так и для записи. Например, вы вычитываете из базы Ensembl список идентификаторов всех генов человека (включая всякие микроРНК и т. д. — всего чуть больше 50000). Если их прочитать в стандартный ArrayList, то на 32-битной HotSpot вы потратите чуть больше 4 мегабайт. Можно ли сэкономить память, зная, что коллекция больше не будет меняться?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js