С тех пор, хотя бы, как по какой-то причине его не включили в .NET Framework 1.1. Многие .NET разработчики и не подозревают о существовании HashSet. Прием с использованием hash-таблицы так же малоизвестен. В основном, люди не заморачиваются и используют ArrayList и List для задач, где уместнее был бы HashSet.
Неужели .NET разработчикам, как и PHP'шникам, надо тоже говорить, что знание только одного языка — зло. Неужели «многие .NET разработчики» ни разу не интересовались какие вообще структуры данных бывают?
Ну а причём тут .NET то, действительно. Во многих стандартных библиотеках оно есть, если есть коллекции — то и Set/HashSet есть. Например, в Java с незапамятных времён, ну и т.д.
Не совсем. В C++, например, обычный set — это set на базе дерева. Шаблон hash_set есть только в SGI STL и в Visual C++ STL. Так что там с этим тоже сложности.
Небольшая поправка. Выяснилось, что в Ruby есть hash-set, только не в core library, а в одной из стандартных библиотек 'set'. Ни в одном учебнике по Ruby это не упоминается. Только гуру это знают.
Только реализован в стандартной библиотеке, и узнать об этом можно только забравшись в исходники. Чего, увы, многие никогда не делают (именно стандартную библиотеку).
Для чего нужен hash-set