Определенно рамки коллекций. Он используется постоянно, независимо от того, используете ли вы серверную Java или клиентскую часть, графическую или нет. Это просто в использовании. Большинство классов структуры данных имеют как неуниверсальную, так и универсальную версию (лучше всего использовать вторую, но есть устаревший код, который интенсивно использует первый), но они в значительной степени идентичны с точки зрения API, отличного от параметров класса. В .NET две версии могут иметь разные имена / API, и это может привести к путанице. Мне также нравится, что в Java Collections Framework алгоритмы используются как статические методы (например, Collections.sort (collectionVar)), а не как методы экземпляра. В .NET они используют методы экземпляров, и по какой-то причине не каждая структура данных имеет своего рода ... Framework коллекций также очень богат, и вы можете найти как простые, так и специализированные структуры данных (например, LinkedHashMap, который сохраняет порядок вставки).
Один недостаток, который я слышал, это то, что фреймворк не работает хорошо, и некоторые люди пишут свои собственные. Я не могу это проверить, так как не занимаюсь вопросами, связанными с производительностью.