Как мне научиться использовать Java Commons-Collection? - PullRequest
5 голосов
/ 28 декабря 2011

Странное название, я знаю, позвольте мне объяснить.

Я разработчик, наиболее знакомый с C # и Javascript. Я полностью погружен в эти полуфункциональные миры до такой степени, что большая часть моего кода посвящена отображению / уменьшению / фильтрации коллекций. В C # это означает, что я использую LINQ практически везде, в Javascript это Underscore.js и jQuery.

В настоящее время я назначен на текущий проект Java и чувствую себя довольно подавленно. Я просто не думаю с точки зрения «создать массив, перетасовать вещи из одного в другой». Я могу (и делал) создавать свои собственные версии основной карты / сокращать функции, используя анонимные типы, реализующие интерфейсы, но зачем изобретать колесо? У проекта, в котором я сейчас работаю, уже есть commons-collection-3.1.jar и, просматривая содержащиеся в нем классы, кажется, что он может делать все, что я хочу, и даже больше.

Для жизни я не могу найти, как на самом деле использовать это. Просматривать десятки классов там не очень полезно, и единственное, что я могу найти в Google , это api doc , который так же полезен.

Как вы используете его для отображения / выбора, фильтрации / где, уменьшения / агрегирования? Есть ли где-нибудь, что дает настоящее руководство по этой библиотеке?

Ответы [ 3 ]

4 голосов
/ 28 декабря 2011

(комментарий как ответ для форматирования.)

Не так уж много, кроме ограниченного руководства пользователя .

Тем не менее, я не уверен, где конкретно у вас возникают проблемы - фильтрация и выбор в основном заключены в пакет функторов и используются классом CollectionUtils .

Хотя вы не ищете замену, вы можете найти такие вещи, как Гуава или Lambda4J , немного более похожие на те, к которым вы привыкли (в рамках ограничений Java) и они немного менее многословны.

1 голос
/ 28 декабря 2011

@ george-mauer, вам, возможно, придется положиться на такие статьи, как this или на книгу, подобную Jakarta Commons Cookbook . Я также нашел довольно полезным учиться, создавая свои собственные образцы.

1 голос
/ 28 декабря 2011

Попробуйте эти ссылки:

http://commons.apache.org/collections/userguide.html (базовый учебник) http://larvalabs.com/collections/tutorial.html (расширенный учебник с универсальным)

...